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 进行解析。

4

1 回答 1

8

您应该按照 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"]);
}
于 2012-11-20T09:44:34.920 回答