首页 新闻 会员 周边

Newtonsoft.Json序列化数据源的问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-03-28 13:38

我引用了Newtonsoft.Json.dll,但是点不出来里面的方法,

如:JsonConverter.SerializeObject方法?

到底是哪里缺少了哪里的操作?

iisp的主页 iisp | 初学一级 | 园豆:81
提问于:2012-03-28 08:07
< >
分享
最佳答案
1

是這樣吧

 string output = JsonConvert.SerializeObject(product);

JsonConverter 應該寫成 JsonConvert

收获园豆:8
無限遐想 | 老鸟四级 |园豆:3740 | 2012-03-28 09:36
其他回答(1)
0

/// <summary>
/// 序列化数据为Json数据格式.
/// </summary>
/// <param name="value">被序列化的对象</param>
/// <returns></returns>
public static string ToJson(this object value)
{
Type type = value.GetType();
Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
json.NullValueHandling = NullValueHandling.Ignore;
json.ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Replace;
json.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
json.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
StringWriter sw = new StringWriter();
Newtonsoft.Json.JsonTextWriter writer = new JsonTextWriter(sw);
writer.Formatting = Formatting.None;
writer.QuoteChar = '"';
json.Serialize(writer, value);

string output = sw.ToString();
writer.Close();
sw.Close();

return output;
}
/// <summary>
/// 将Json数据转为对象
/// </summary>
/// <typeparam name="T">目标对象</typeparam>
/// <param name="jsonText">json数据字符串</param>
/// <returns></returns>
public static T FromJson<T>(this string jsonText)
{
Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();

json.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
json.ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Replace;
json.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
json.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

StringReader sr = new StringReader(jsonText);
Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
T result = (T)json.Deserialize(reader, typeof(T));
reader.Close();

return result;
}

收获园豆:2
悟行 | 园豆:12559 (专家六级) | 2012-03-28 10:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册