C Sharp 中 JSON 字符串和对象之间转换时发生错误
约 237 字
预计阅读 1 分钟
问题描述
1
2
3
|
错误1 命名空间“Newtonsoft.Json”中不存在类型或命名空间名称“JavaScriptConvert”(是缺少程序集引用吗?)
d:\***\***\Visual Studio 2005\Projects\***\***\***.cs
732 36 ***
|
解决办法
-
Newtonsoft.Json
包引用没问题 ./c#备忘/Newtonsoft.Json.dll
-
最终原因:Newtonsoft.Json
库由于新旧版本的差异,方法的名字发生了变化,如下
1
2
3
|
1.JavaScriptArray ---> JArray
2.JavaScriptConvert ---> JsonConvert
3.JavaScriptObject ---> JObject
|
正确的代码
1
2
3
4
5
6
7
8
|
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj){
return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
}
//从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj){
return Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString, obj.GetType());
}
|