将 JSON 反序列化为字符串数组
本文关键字:字符串 数组 反序列化 JSON | 更新日期: 2023-09-27 17:56:51
我刚刚开始涉足 C#,并且我已经在 JSON 反序列化上狠狠地砸了一段时间。我正在使用Newtonsoft.Json库。我期待只是一系列字典的 json 响应
[{"id":"669","content":" testing","comments":"","ups":"0","downs":"0"}, {"id":"482","content":" test2","comments":"","ups":"0","downs":"0"}]
现在我有:(注意:下载只是一个包含json字符串的字符串)
string[] arr = JsonConvert.DeserializeObject<string[]>(download);
我尝试了许多不同的方法来做到这一点,每种方法都失败了。是否有解析此类 json 的标准方法?
你有一个对象数组而不是字符串。创建一个映射属性并反序列化为该类,
public class MyClass {
public string id { get; set; }
public string content { get; set; }
public string ups { get; set; }
public string downs { get; set; }
}
MyClass[] result = JsonConvert.DeserializeObject<MyClass[]>(download);
JSON 中只有几种基本类型,但学习和识别它们是有帮助的。对象、数组、字符串等 http://www.json.org/和 http://www.w3schools.com/json/default.asp 是入门的好资源。例如,JSON 中的字符串数组如下所示:
["One", "Two", "Three"]
我实现了这个,希望这对大家有帮助。
var jsonResponse =
[{"Id":2,"Name":"Watch"},{"Id":3,"Name":"TV"},{"Id":4,"Name":""}]
var items = JsonConvert.DeserializeObject<List<MyClass>>(jsonResponse);
其中 MyClass 是实体
public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
}