c# - JSON数组到数组列表使用c#
问题描述
我正在尝试将 JSON 转换为列表,请任何人都可以帮助我。
public class User
{
public String id { get; set; }
public String imageURL { get; set; }
public String search { get; set; }
public String status { get; set; }
public String username { get; set; }
}
List<User> users = JsonConvert.DeserializeObject<List<User>>(resp.Body);
JSON
{
"KfWE8S9jWJdWnAZEbOtHTtisNwO2":
{"id":"KfWE8S9jWJdWnAZEbOtHTtisNwO2"
,"imageURL":"https://firebasestorage.googleapis.com/v0/b/bchat-af5e5.appspot.com/o/uploads%2F1542785437375.jpg?alt=media&token=be1ce806-fecf-4081-9dad-f0a20e5d8489"
,"search":"rene vizconde"
,"status":"online"
,"username":"Rene Vizconde"},
"ScpDnyQCyKemXSgdo3jEvZFNxY83":
{"id":"ScpDnyQCyKemXSgdo3jEvZFNxY83"
,"imageURL":"default"
,"search":"yeli potpot"
,"status":"offline"
,"username":"Yeli Potpot"},
"cnPYOdHYWaaLDQmchELLvw85DBf1":
{"id":"cnPYOdHYWaaLDQmchELLvw85DBf1"
,"imageURL":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSHilM1ke9pZePBJTobMTcktggiw-UywdqAIpf-VX9nqecKl6b4wQ"
,"search":"bards disc"
,"status":"offline"
,"username":"Bards Disc"},
"tWTbllTxaVM9WQnsNwnBgc3ixLM2":
{"id":"tWTbllTxaVM9WQnsNwnBgc3ixLM2"
,"imageURL":"default"
,"search":"renz angelo"
,"status":"offline"
,"username":"Renz Angelo"}
}
解决方案
您可以简单地将您的 json 反序列化为Dictionary<string, User>
而不是List<User>
.
class Program
{
static void Main(string[] args)
{
var data = JsonConvert.DeserializeObject<Dictionary<string, User>>(resp.Body);
foreach (var item in data)
{
User user = item.Value;
Console.WriteLine("id: " + user.id);
Console.WriteLine("imageURL: " + user.imageURL);
Console.WriteLine("search: " + user.search);
Console.WriteLine("status: " + user.status);
Console.WriteLine("username: " + user.username);
Console.WriteLine();
}
Console.ReadLine();
}
}
输出:
推荐阅读
- .net-core - .Net Core 5 JWT 令牌在服务器重新启动时过期
- mysql - 如何使用链接服务器 ODBC 连接将 SQL Server 连接到 MySQL
- npm - 每次保存后 Svelte 热重载编译几次(2-4 次)(npm run dev)
- python - 排除域正则表达式电子邮件验证
- android - 如何更改手势点击计时器的值?
- html - 如何更好地执行 DIV 并处理 css
- python - TypeError:只能连接 str(不是“float”)
- javascript - 将文本作为键值对与图表 js 中的输入数据一起传递
- python - spark dataframe - 满足条件时从过去的行中获取统计信息
- coq - Coq/SSReflect:(x < y) + (x == y) + (y < x) 的标准方法?