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

admin5个月前未分类69

将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键

例如:

JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }'; 
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name);

Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

注意:

上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。 

区别: SSM框架中用的注解@ResponseBody,也是将java对象转换成json字符串,但是前端js接收这样的json串,

可以直接拿来用,不像jackson包中的方法,即//转换成json字符串。
             String jsonStr  = objectMapper.writeValueAsString(articles);

说是吧java对象转换成了json字符串,但是前端接收后,还要解析这个json字符串,将它变为json对象。才可以取值。记住。

 


相关文章

《奔腾年代》交大人不得不看的年代电视剧!全集在线观看地址

《奔腾年代》全集如下:奔腾年代 : 第1集 灿烂汉卿不打不相识https://www.iqiyi.com/v_19rve534vw.html奔腾年代 : 第2集 常汉卿惨被诬陷https://www....

django报错

https://www.cnblogs.com/desireyang/p/12643333.html https://www.cnblogs.com/desireyang/p/12643333.htm...

jango templates的配置路径

'DIRS': [os.path.join(BASE_DIR,'templates')]...

OSI/RM的7个协议层的主要功能

OSI/RM的7个协议层的主要功能可以概括如下:①物理层:规定了通信设备的机械、电气、功能和过程特性,用以建立、维持和释放数据链路实体间的连接。②数据链路层:这一层的功能是建立、维持和释放网络实体之间...

滚动条scrollbar 删除,适用于文字 表格

<head>    <meta charset="UTF-8">    <meta name="vi...

坐标,肯尼亚,开一贴正式记录我的海外搬砖生活

援非校友:坐标,肯尼亚,开一贴正式记录我的海外搬砖生活

坐标,肯尼亚,开一贴,正式记录我的海外搬砖生活。到公司休息了两天,公司这边住的比较好,在富人区,都是住别墅,哎,苦命的我,今天下午就要去项目上了,然后过几天又回来公司过年,项目经理说下午他开车带我们去...