我有以下JSON
字符串:
{
[
{
"error": {
"typeofdevice": 678,
"valueconvert": "",
"message": "oops something went wrong"
}
}
]
}
对此进行反序列化并获取“消息”的值的最佳方法是什么?
我试过了:
JToken token = JArray.Parse(args.Result);
string message = (string)token["description"];
然后它说
数组缺少一个索引,它无效。
我知道的新人问题..但我无法弄明白:S。
Grtz。
答案 0 :(得分:1)
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。
答案 1 :(得分:0)
此外,如果您想检查JSON数据是否正确,可以在此处发送数据: