C# 如何在Mono中反序列化JSON字符串?

C# 如何在Mono中反序列化JSON字符串?,c#,.net,json,mono,C#,.net,Json,Mono,如何在C Mono中反序列化JSON字符串 是否有JSON库以及如何安装的说明?我使用的是Fedora14。我们没有使用json契约序列化程序,而是使用。它也应该适用于单声道。 您不需要安装程序集,只需添加一个引用并将其与最终软件包一起提供即可 编辑: 如何添加引用?虽然我不是一个单体开发者。。。摘自: 参考->编辑参考->.NET 程序集->浏览到文件并选择它 否则:嘿,打F1 我建议你看看。与JSON.NET相比,它的速度非常快 序列化词典的示例: ServiceStack.NET 看看JS

如何在C Mono中反序列化JSON字符串


是否有JSON库以及如何安装的说明?我使用的是Fedora14。

我们没有使用json契约序列化程序,而是使用。它也应该适用于单声道。 您不需要安装程序集,只需添加一个引用并将其与最终软件包一起提供即可

编辑: 如何添加引用?虽然我不是一个单体开发者。。。摘自:

参考->编辑参考->.NET 程序集->浏览到文件并选择它

否则:嘿,打F1

我建议你看看。与JSON.NET相比,它的速度非常快

序列化词典的示例:

ServiceStack.NET

看看JSON.NET:

特点:

用于在.NET对象和JSON之间转换的灵活JSON序列化程序 用于手动读取和写入JSON的LINQ到JSON 高性能,比.NET的内置JSON序列化程序更快 写缩进的、易于阅读的JSON 将JSON转换为XML或从XML转换为JSON 序列化和反序列化的示例:


我假设json契约序列化程序也可以在mono上使用。而Json.net可能也适用于mono。不知道你为什么提到你的IDE。@CodesInChaos从什么时候开始Fedora是IDE了?你有没有用缩写,兄弟?@user3791372是一个想法,你能告诉我如何在monodevelop项目中引用json.net吗?似乎我在StackOverflow上看到的关于使用json.net的每一个答案都忽略了一个非常重要的事情,那就是要在你的C代码中使用json.net类,你需要使用Newtonsoft.json添加语句;在文件的顶部。我想您可以完全限定这些类,但即使是Json.Net网站似乎也忽略了这一点。不管怎样,对于像我这样的人来说,这一点并不明显,请这样做以使用该包中的类。@Marc实际上,我最近开始对我的代码进行限定-不管怎样,visual studio是否显示了一个标记,您可以单击它来选择一个合适的使用。。。sry,由于使用了ReSharper,我没有什么普通的经验,顺便说一句,它提供了这样一个特性。
var jsonSerializer = new JsonSerializer<Dictionary<String, Object>>();
var result = jsonSerializer.SerializeToString(dict);
var result = JsonConvert.SerializeObject(dict, Formatting.Indented);
    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);
    }