json 字符串转换成对象,对象转换成json字符串
前端:
方法一:
parseJSON方法: [注意jquery版本问题]
var str = '{"name":"John"}';
var obj = jQuery.parseJSON(str);
alert( obj.name === "John" );
方法二.
eval方法:[注意:一定要加大括号]
json的格式是var str = " { ' name ' : ' value ' , ' name1 ' : ' value1 '}";
var obj = eval('('+str+')');
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
方法三:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
方法四:
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
后端:
方法一:
字符与对象相互转换:
程序集:System.Web.Extensions.dll (vs自带)
命名空间:using System.Web.Script.Serialization;
重要类:JavaScriptSerializer;
JavaScriptSerializer js = new JavaScriptSerializer();
js.Serialize();//将对象转换成json字符串; 序列号
js.Deserialize();//将json字符串转换成对象; 反序列化
字符串转字典:
/// <summary>
/// json字符串转字典
/// </summary>
private Dictionary<string, DataTypes> ConvertDic(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
return jss.Deserialize<Dictionary<string, DataTypes>>(json);
}
方法二:
程序集:Newtonsoft.Json.dll;
命名空间: Newtonsoft.Json;
重要的类:JsonConvert ;4.0版本及以上
JsonConvert.SerializeObject();
JsonConvert.DeserializeObject();
重要的类:JavaScriptConvert;4.0以下版本
JavaScriptConvert.SerializeObject();
JavaScriptConvert.DeserializeObject();
方法三:
程序集:Newtonsoft.Json.Compact.dll;
命名空间: Newtonsoft.Json; 4.0版本及以上
重要的类:JsonConvert;4.0以下版本
JsonConvert.SerializeObject();
JsonConvert.DeserializeObject();
小警告:
如果是新版本的json.net,如JSON.NET 4.0,已经转移到Newtonsoft.Json.JsonConvert类下面。
Newtonsoft.Json.JsonConvert.DeserializeObject
Newtonsoft.Json.JsonConvert.SerializeObject
所以如果你找不到JavaScriptConvert类,那是你的版本的问题,请尝试下载其他版本的JSON.NET;
json转换 xml:
程序集:System.Runtime.Serialization.dll;
命名空间:System.Runtime.Serialization.Json;
重要的类:DataContractJsonSerializer;
重要的类:XmlObjectSerializer //提供用于将对象序列化为 XML 流或文档的基类
提供参考: