我有以下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