首页 > 解决方案 > 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"}
    }

标签: c#jsonfirebasejson.net

解决方案


您可以简单地将您的 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();
    }
}

输出:

在此处输入图像描述


推荐阅读