MonoDevelop + Newtonsoft中的程序集中缺少方法DeserializeObject ....

时间:2015-05-11 12:06:55

标签: c# json json.net monodevelop

使用Newtonsoft JsonConvert将序列化JSON反序列化为C#对象时遇到此问题。我在Linux平台上并使用MonoDevelop。

我在终端中收到以下错误消息:

Missing method DeserializeObject in assembly /home/deepalj/tmp/c#temp/SerializerTest/SerializerTest/bin/Debug/SerializerTest.exe, type Newtonsoft.Json.JsonConvert

以下是反序列化的代码:

using System;
using System.Web.Script.Serialization;

using Newtonsoft.Json;

    namespace SerializerTest
    {
        class MainClass
        {
            public static void Main (string[] args)
            {
                Payment p = Newtonsoft.Json.JsonConvert.DeserializeObject<Payment> ("{ id: 10, card: 'visa', amount: 1}");
                Console.WriteLine ("Card: "+p.card+"\n"+"Amount: "+p.amount);
            }
        }
    }

以下是Payment类:

using System;

namespace SerializerTest
{
    public class Payment
    {
        public int id { get; set; }
        public string card { get; set; }
        public decimal amount { get; set; }
    }
}

任何帮助解决此问题都会有所帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。我没有使用引用 - &gt;编辑参考 - &gt;包添加Newtonsoft.Json作为包,而是使用引用 - &gt;编辑参考 - &gt;手动包含其.net程序集。 .Net汇编。我下载了Newtonsoft json pakage here并将其Bin / Net45 / Newtonsoft.Json.dll添加为.net程序集。现在效果很好。

enter image description here