Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)

前端之家收集整理的这篇文章主要介绍了Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

一、JSON字符串转换为JSON对象: eval() 和 JSON.parse

eg- json字符串:

然后,就可以这样读取: alert(obj.name + obj.sex);

提示:为什么要 eval这里要添加 ("("+data+")");呢?

  原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句

二、JSON对象转换为JSON字符串 : obj.toJSONString()或者全局方法JSON.stringify(obj) (obj代表json对象)

方法,需要引入相应的库或自己定义后才能用 (不习惯用)

然后,就可以这样读取: alert(jstring);

注意:

目前,Firefox、Opera、IE8以上版本也提供了本地JSON支持。其中,JSON解释器提供的函数有:JSON.parse、JSON.stringify。   对于那些并不提供本地JSON支持的浏览器可以引入脚本json2.js,来实现JSON转换功能。json2.js脚本可到页面下载

在AJAX实现前后台数据交互的时候,通常使用JSON的数据格式,对于JSON来说,有严格的代码规范,一旦格式出问题,就无法显示出相应效果,同时还不在控制台报错

补充: ajax读取json数据拼接显示

json文件

html和ajax代码

1、用for循环

文件当作文本文件 不然读取不出来 权宜之策就改成了text, 因为测试, json文件格式正确书写 success: function(data) { var dataJson = eval("("+data+")"); // 将json字符串数据解析成对象 var arr1 = dataJson.first; var arr2 = dataJson.second; //一栏显示 用for循环完成数组解析 for(var i = 0; i姓名:'+arr1[i].name+' 性别:'+arr1[i].sex+'
'+ '
学校:'+arr2[j].name+'
'+ '
地点:'+arr2[j].area+'
'+ //'
喜好:'+arr1[i].like+'
'+ //全显示 //'
喜好:'+arr1[i].like[1]+'
'+ //单独设置 //'
喜好:'+arr1[i].like[0]+'
'+ '
'; } $(".result").append(str); } //分层显示 //var str = ""; // var str1 = ""; // if (arr1 != null) { // for (var i = 0; i < arr1.length; i++) { //这里面都是创建并赋值 // str += "" + arr1[i].name + "" + arr1[i].sex + "
"; // } // $(".result").html(str); // } // if (arr2 != null) { // for (var j = 0; j < arr2.length; j++) { // str1 += "" + arr2[j].name + "" + arr2[j].area+ "
"; // } // $(".result2").html(str1); // } },error:function(data){ alert("error"); } })
for

2、 each循环 使用$.each方法遍历返回的数据date,插入到class为 .result中

JSON:

文件当作文本文件 不然读取不出来 权宜之策就改成了text, 因为测试, json文件格式正确书写 success: function(data) { var dataJson = eval("("+data+")"); // 将json字符串数据解析成对象 //each循环 使用$.each方法遍历返回的数据date,插入到class为 .result中 i 表示索引 item 信息值 对象 $.each(dataJson,function(i,item){ var str='
姓名:'+item.name+' 性别:'+item.sex+'
'+ '
like:'+item.like+'
'+ '
'; $(".result").append(str); }) },error:function(data){ alert("error"); } })
each

PS:对于一般的js生成json对象,只需要将$.each()方法替换为for语句即可,其他不变

JSON 数据使用方法:

分享给好友!感谢支持

原文链接:https://www.f2er.com/js/44902.html

猜你在找的JavaScript相关文章