var a={"name":"tom","sex":"男","age":"24"}
var b='{"name":"Mike","sex":"女","age":"29"}';
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
JSONstringify(obj)将JSON转为字符串。JSONparse(string)将字符串转为JSON格式;
上面的转换可以这么写:
var a={"name":"tom","sex":"男","age":"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSONstringify(a);
var bToObj=JSONparse(b);
alert(typeof(aToStr)); //string
alert(typeof(bToObj));//object
JSONstringify()
ie8(兼容模式),ie7和ie6没有JSON对象,不过>//导入这个命名空间
using SystemWebScriptSerialization;
//这个命名空间需要引用几个,SystemWebXXX,具体我也记不了是哪几个,
//你看到SystemWebxxx的都引用。之后自己去掉没报错就是不需要的。
//导入命名空间完后,你可以这样声明对象
JavaScriptSerializer js = new JavaScriptSerializer();
//然后调用Json数据转对象的方法
//strJson 是Json字符串数据(这里需要JSON是数组数据的前提下)
List<string> list = jsDeserialize<List<string>>(strJson);
//这里主要说一下jsDeserialize<T>(string); //T(泛型)是需要转换成的对象(数组,List,OBJECT)
//string 是Json字符串数据
//这个方法返回的是T类型对象。(定义什么返回什么)
//说完Json数据转对象,再说说对象转JSON字符串数据
//object 是需要转成Json字符串数据的对象
string strJson = jsSerialize(object);
string转json有三种方法:
第一种:string直接转json
String json = "{\"2\":\"efg\",\"1\":\"abc\"}"; JSONObject json_test =
JSONObjectfromObject(json); 将string的双引号转义即可,适用于字符串较短的
第二种:将string转为list后转为json
Listlist = new ArrayList(); listadd("username");
listadd("age"); listadd("sex"); JSONArray array = new JSONArray();
arrayadd(list);
可以使用list的add函数将需要的字符串拼接即可,但是这个只能使用jsonarry
第三种:将string转为map后转为json
Mapmap = new HashMap();
mapput("1", "abc");
mapput("2", "efg");
JSONArray array_test = new JSONArray();
array_testadd(map);
JSONObject jsonObject = JSONObjectfromObject(map);
这里使用map就可以将字符串转化为JSONArray或者JSONObject都可以,但是这里的键不能使用int型
1、//首先这个字符串要是一个合法的json字符串,才能转换成json对象2、JSONparse( str )//转换成json对象
3、JSONstringify( jsonObject )//转换成json字符串1,eval方式解析,恐怕这是最早的解析方式了。如下:
复制代码代码如下:
function strToJson(str){
var json = eval('(' + str + ')');
return json;
}
记得别忘了str两旁的小括号。
2,new Function形式,比较怪异哦。如下
复制代码代码如下:
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
3,使用全局的JSON对象,如下:
复制代码代码如下:
function strToJson(str){
return JSONparse(str);
}
目前 IE8(S)/Firefox35+/Chrome4/Safari4/Opera10 已实现了该方法,以下是部分资料:>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)