关于json解析的几种方法
2017-04-28 08:53
211 查看
关于json解析的几种方法
parse用于从一个字符串中解析出json对象,如
var str= '{"name":"huangxiaojian","age":"23"}'
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
JSON.parse(jsonString): 在一个字符串中解析出JSON对象
varstr ='[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';
JSON.parse(str);
结果
/*---------------------------------------------------------------------------------*/
2、JSON.stringify(obj): 将一个JSON对象转换成字符串
varobj =[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}];
JSON.stringify(obj);
结果
"[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]"
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
3、jQuery.parseJSON(jsonString): 将格式完好的JSON字符串转为与之对应的JavaScript对象
var str= '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';
jQuery.parseJSON(str);
结果
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
4、JSON.parse()和jQuery.parseJSON()的区别:
有的浏览器不支持JSON.parse()方法,使用jQuery.parseJSON()方法时,在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,以上结论参考jquery1.9.1 得出:
parseJSON: function( data ) {
// Attempt to parseusing the native JSON parser first
if( window.JSON && window.JSON.parse ) {
returnwindow.JSON.parse( data );
}
if( data === null) {
returndata;
}
if( typeofdata === "string") {
// Make sureleading/trailing whitespace is removed (IE can't handle it)
data =jQuery.trim( data );
if( data ) {
//Make sure the incoming data is actual JSON
//Logic borrowed from http://json.org/json2.js
if( rvalidchars.test( data.replace(rvalidescape, "@")
.replace(rvalidtokens, "]")
.replace(rvalidbraces, "")) ) {
return( newFunction( "return "+ data ) )();
}
}
}
jQuery.error("Invalid JSON: "+ data );
},
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
parse用于从一个字符串中解析出json对象,如
var str= '{"name":"huangxiaojian","age":"23"}'
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
JSON.parse(jsonString): 在一个字符串中解析出JSON对象
varstr ='[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';
JSON.parse(str);
结果
/*---------------------------------------------------------------------------------*/
2、JSON.stringify(obj): 将一个JSON对象转换成字符串
varobj =[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}];
JSON.stringify(obj);
结果
"[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]"
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
3、jQuery.parseJSON(jsonString): 将格式完好的JSON字符串转为与之对应的JavaScript对象
var str= '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';
jQuery.parseJSON(str);
结果
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
4、JSON.parse()和jQuery.parseJSON()的区别:
有的浏览器不支持JSON.parse()方法,使用jQuery.parseJSON()方法时,在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,以上结论参考jquery1.9.1 得出:
parseJSON: function( data ) {
// Attempt to parseusing the native JSON parser first
if( window.JSON && window.JSON.parse ) {
returnwindow.JSON.parse( data );
}
if( data === null) {
returndata;
}
if( typeofdata === "string") {
// Make sureleading/trailing whitespace is removed (IE can't handle it)
data =jQuery.trim( data );
if( data ) {
//Make sure the incoming data is actual JSON
//Logic borrowed from http://json.org/json2.js
if( rvalidchars.test( data.replace(rvalidescape, "@")
.replace(rvalidtokens, "]")
.replace(rvalidbraces, "")) ) {
return( newFunction( "return "+ data ) )();
}
}
}
jQuery.error("Invalid JSON: "+ data );
},
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
相关文章推荐
- 关于json解析的几种方法
- jquery遍历筛选数组的几种方法和遍历解析json对象
- 关于JS截取字符串以及截取数组项的几种常见方法解析
- IOS-Json解析的几种方法
- 学习笔记:Android里JSON解析的几种方法
- 关于Json的解析一般用2种方法
- iOS中关于json解析的几种方式
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
- 关于json解析时异常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {的解决方法
- Json的几种解析方法
- iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson
- 关于iOS开发 Json解析的几种方式
- 【cocos2d-x】关于cocos2d-x解析json的一个类,jsonbox的使用方法资料
- Javascript关于JSON集合的几种循环方法
- C++ jsoncpp 几种解析json方法
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- C#解析JSON的几种方法
- asp读取解析JSON的几种方法
- Android基础之json数据的几种解析方法