Json对象和字符串互相转换 数据拼接 JSON使用方式

您所在的位置:网站首页 字符串拼接json格式是什么 Json对象和字符串互相转换 数据拼接 JSON使用方式

Json对象和字符串互相转换 数据拼接 JSON使用方式

2024-07-16 22:36| 来源: 网络整理| 查看: 265

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.

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

eg- json字符串:   var data = '{ "name": "dran", "sex": "man" }';

    var obj = eval("(" data ")");  或者     var obj = JSON.parse(data);

然后,就可以这样读取:   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对象)

 eg-json对象:      var obj = { "name": "dran", "sex": "man" };  var jstring = JSON.stringify(obj) ;// 建议用这个   var jstring = obj.toJSONString();  //toJSONString()不是js原生的方法,需要引入相应的库或自己定义后才能用   (不习惯用)

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

注意:

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

在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

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

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

  json文件:

    {    "first":[        {"name":"张三","sex":"男","like":["吃饭","睡觉","打豆豆"]},        {"name":"李四","sex":"男"},        {"name":"王武","sex":"男"},        {"name":"李梅","sex":"女"},    ],    "second":[        {"name":"上海大学","area":"上海"},        {"name":"武汉大学","area":"武汉"},        {"name":"北京大学","area":"北京"},        {"name":"山东大学","area":"山东"},    ]}

  html和ajax代码

 

   1、用for循环

1 $.ajax({ 2 url : "ceshi.json", 3 type : "POST", 4 dataType :"text", //浏览器把json文件当作文本文件 不然读取不出来 权宜之策就改成了text, 因为测试, json文件格式正确书写 5 success: function(data) { 6 var dataJson = eval("(" data ")"); // 将json字符串数据解析成对象 7 var arr1 = dataJson.first; 8 var arr2 = dataJson.second; 9 //一栏显示 用for循环完成数组解析 10 for(var i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3