js解析JSON字符串为一个对象

下面这句话,会直接将Controller返回的json串,直接解析成json对象,不需要二次解析

$.ajax({
        type: ‘post‘,
        dataType: ‘json‘,
        url: ctx + ‘/login/purchaseList?memberId=‘ + memberId,
        success: function(data) {
            if (0 == data.status) {
                alert(‘没有数据 !‘);
            } else {
                var purchaseArr = data.jsonValue;
                for (var i = 0; i < purchaseArr.length; i ++) {
                    alert(purchaseArr[i].product_name);
                }
            }
        }        
    });

@ResponseBody
    @RequestMapping("/purchaseList")
    public String purchaseList(ModelAndView mav, long memberId) {
        
        String purchaseListStr = rDubboProPurchaseService.findMemberPurchase(memberId);
        return purchaseListStr;
    }

1)第一种方法

data是json串

var dataObj=eval("("+data+")");//转换为json对象

var jsonObj = eval(‘(‘ + data + ‘)‘);
                var result = jsonObj.result;
                var memberId = jsonObj.memberId;

2)第二种方法

解析方式就是使用Function对象来完成,它的典型应用就是在JQUERY中的AJAX方法下的success等对于返回数据data的解析

var json=‘{"name":"CJ","age":18}‘;

data =(new Function("","return "+json))();

此时的data就是一个会解析成一个 json对象了.

时间: 2024-10-21 02:22:18

js解析JSON字符串为一个对象的相关文章

js解析json字符串数组

json解析字符串数据 例如如下: var array= [ {}, {}, { [ {}, {}, {}, ] } ] 解析json数组 一般是$.each(array,function(i,value){ //里面有三个参数 this指向当前元素, i代表array数组下标, value代表的是当前元素, this=array[i]=value }); 解析json对象 $.each(Object, function(name, value) { this;      //this指向当前属

js解析Json字符串

string s = "[{'a':'sss'},{'b':'cccc'}]"; 解析: var obj = eval('(' + data + ')'); alert(obj[0].a); 结果: 也可以用jq解析 $(function () { var obj = jQuery.parseJSON('{"name":"John"}'); alert( obj.name === "John" ); }) 但是var obj

js 解析json字符串

server端返回的数据例如以下: {"list":[{"id":1,"name":"汉族"},{"id":2,"name":"蒙古族"},{"id":3,"name":"满族"},{"id":4,"name":"朝鲜族"},{"id&qu

js jquery前台解析json字符串

一.js解析json字符串 eval()和JSON.parse() 对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,就是将该字符串放于eval()中执行一次.这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var dataObj=eval("("+data+")");//转换为json对象 为什么eval这里要添加 "("+data+")&

JS的全局函数eval解析JSON字符串函数

JavaScript eval() 函数 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回.因此请不要为 eval() 函数传递 String

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

JS解析json数据并将json字符串转化为数组的实现方法

json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法,需要了解的朋友可以参考下 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document

ajax查询数据库,服务器传回json字符串,js解析json

服务器端获得要查询的东西,查询数据库,将查询的信息,以json字符串的形式返回给浏览器 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String departmentID=request.getParameter("departmentID"); DataBaseHandle dataBaseHandl

《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转换成JSON,然后传递到前台JS文件中,JS解析JSON数据,并将数据显示在界面,主要介绍两种显示方式,显示在DropDownList控件 or 显示在动态创建的Table表中.   本文主要介绍两个地方: 1.根据学年查询学期信息的实现--JS将解析的JSON数据绑定到DropDownList框