NewtonSoft.JSON反序列化不起作用



我有以下JSON字符串:

{
  [    
    {
        "error": {
                     "typeofdevice": 678,
                     "valueconvert": "",
                     "message": "oops something went wrong"
                 }
    }
  ]
}

反序列化并获取"Message"值的最佳方法是什么?

我试过了:

JToken token = JArray.Parse(args.Result);
string message = (string)token["description"];

但后来它说

数组缺少索引,因此无法工作。

新手问题我知道。。但我想不通:S。

Grtz。

using System;
using System.Collections.Generic;
namespace ConsoleApplication2
{
    using Newtonsoft.Json;
    internal class Program
    {
        private static void Main(string[] args)
        {
            string jsonString =
                "["
                + "{"
                + " "error": "
                + "     {" 
                + "         "typeofdevice": 678,"
                + "         "valueconvert": ""," 
                + "         "message": "oops something went wrong"" 
                + "     }" 
                + "}" 
              + "]";
            List<Data> data = JsonConvert.DeserializeObject<List<Data>>(jsonString);
            Console.WriteLine(data[0].Error.typeofdevice);
        }
        public class Data
        {
            public Error Error { get; set; }
        }
        public class Error
        {
            public string typeofdevice { get; set; }
            public string valueconvert { get; set; }
            public string message { get; set; }
        }
    }
}

上面的控制台应用程序可以工作,但我已经更改了您的JSON字符串,因为其他人正确地指出它不是有效的JSON。

此外,如果您想检查JSON数据是否正确,您可以在此处发送数据:

http://jsoneditoronline.org/index.html

相关内容

  • 没有找到相关文章

最新更新