如何使用Litjson解析JSON数组?

3

我正在开发一个应用程序,其中使用了来自服务器的JSON格式数据。虽然我能够解析普通的JSON数据,但无法解析带有数组的JSON数据。

以下是JSON响应:

[{"id_user":"80","services":
    [{"idservice":"3","title":"dni-e","message":"Texto para el dni-e"},
     {"idservice":"4","title":"Tarjeta azul","message":"Texto para la tarjeta azul"}]
}]

我该如何读取这个JSON数组?

注意:我正在使用Litjson进行解析。

1个回答

8
你应该创建以下POCO对象:

你应该自己创建以下POCO对象:

public class Service
{
    public int idservice { get; set; }

    public string title { get; set; }

    public string message { get; set; }
}

public class UserServices
{
    public int id_user { get; set; }

    public List<Service> services { get; set; }
}

LitJSON可以直接反序列化这个内容:
UserServices services = JsonMapper.ToObject<UserServices>(rawJson);

作为替代方案,您可以使用非泛型变量(下面的示例将所有数据写入控制台):
JsonData data = JsonMapper.ToObject(rawJson);
Console.WriteLine("User id: {0}", data["id_user"]);
Console.WriteLine("Services:");
for (int i = 0; i < data["services"].length; i++)
{
    Console.WriteLine ("    Id: {0}; Title: {1}; Message {2}", data["services"][i]["idservice"], data["services"][i]["title"], data["services"][i]["message"]);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接