有一个js的代码,都是var的写法,现在要转换成json的括号的写法,怎么转换呢?
人工转了,要么词法分析了
var a=1,b=2,c=3
var obj={a:a,b:b:c:c}
直接百度json在线解析把需要解析的文字复制就可以
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。
1,eval方式解析,恐怕这是最早的解析方式了。如下:
function strToJson(str){
var json = eval('(' + str + ')');
return json;
}
2,new Function形式,比较怪异哦。如下
代码如下:
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
3,使用全局的JSON对象,如下:
代码如下:
function strToJson(str){
return JSON.parse(str);
}
1、jQuery插件支持的转换方式:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。
3、Javascript支持的转换方式:
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
4、JSON官方的转换方式:
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
var str ="{'1':1,'2':2}";
var json = JSON.parse(str);
JOSN.stringify();
var str ="{'x':1,'y':2}";
var json = JSON.parse(str);
JSON.parse("{\"a\":1,\"b\":2}")
JavaScritpt高级程序设计 JSON那章
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
要使用上面的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);
可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串
//1.获取到json格式的字符串
var str ="{ key1 : 'value1', key2 : 'value2' }";
//2.将字符串转化为json对象,使用eval()进行转化
var json = eval( '(' + str + ')');
//3.接下来就可以随意使用得到的json对象了,例如获取value2的值
var val2 = json.key2;
希望能帮到你。
var str ="{'x':1,'y':2}"
var json = JSON.parse(str)