JSON.parse(),$parseJSON(),eval()三种方法区别

三种方法都可以将json对象转化成json字符串

注意 json字符串和json对象的key都要用双引号括起来 value看情况 value可取的值包括 数值型,字符串"",数组[],对象...

json数组

什么是json对象

  var jsonObject={"name":"zhangsan","age":22};//创建json对象

   alert(jsonObject.name+";"+jsonObject.age);//引用json对象中的子元素

什么是json字符串(一共有两种写法)

第一种写法(转义  "  )(推荐)

 var jsonString="{"name":"zhangsan","age":22}";

  将该json字符串转化成json对象(为什么要转化?为了要遍历json对象中的子元素)

   var person= eval("("+jsonStringr+")");

eval()方法解析

eval()方法:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

例子

var sum="1+2";
alert(eval(sum));

第二种写法(单引号中嵌入双引号)

  var jsonString='{"name":"zhangsan","age":22}';

  将该json字符串转化成json对象 

  var person=JSON.parse(jsonSrtring);

  var person=$.parseJSON(jsonSrtring); //jquery提供的方法 使用时需提供js文件

jqeury中 $.ajax(url,postdata,function(data){})

url-->字符串类型"a.jsp"

postdata-->key/value 形式  会自动转换成请求字符串的格式 所以不必关心

{name:"zhagsan",age:18}

{'name':"zhagsan",'age':18}

{"name":"zhagsan","age":18}

请求成功之后的回调函数

function(data)

data-->

data could be xmlDoc, json, html, text, etc...
其中返回的json一定是json字符串 {"name":"zhangsan","age":15}这种形式
如果指定了dataType:json 或getJson 就能直接获取json对象(自动将json字符串->json对象)----- data.name data.age
否则 需eval("("+data+")")转化(不常用)

原文地址:https://www.cnblogs.com/lt123/p/7207211.html