如何在C#(Mono)中反序列化JSON字符串?
是否有JSON库以及如何安装它的说明?我正在使用fedora 14。
答案 0 :(得分:15)
我们没有使用json契约序列化程序 - 而是使用Json.NET。它也应该与单声道一起使用。
你不需要安装组件,只需添加一个参考,并提供最终的包装!
修改强>
如何添加参考?虽然我不是一个单一的开发者......取自here:
参考文献 - >编辑参考 - > 。净 装配 - >浏览文件&选择它
否则:嘿,只需点击F1
!
答案 1 :(得分:3)
我建议查看ServiceStack.NET Text。与JSON.NET相比,它的速度非常快。
序列化字典的示例:
ServiceStack.NET
var jsonSerializer = new JsonSerializer<Dictionary<String, Object>>();
var result = jsonSerializer.SerializeToString(dict);
JSON.NET
var result = JsonConvert.SerializeObject(dict, Formatting.Indented);
答案 2 :(得分:3)
看看JSON.NET:
http://components.xamarin.com/gettingstarted/json.net
功能强>
序列化和反序列化的示例:
using Newtonsoft.Json;
...
public class Person
{
public string Name { get; set; }
public DateTime Birthday { get; set; }
}
void PersonToJsonToPersonExample ()
{
var person = new Person { Name = "Bob", Birthday = new DateTime (1987, 2, 2) };
var json = JsonConvert.SerializeObject (person);
Console.WriteLine ("JSON representation of person: {0}", json);
var person2 = JsonConvert.DeserializeObject<Person> (json);
Console.WriteLine ("{0} - {1}", person2.Name, person2.Birthday);
}