如何使用Litjson解析json数组?

时间:2012-11-20 09:02:01

标签: c# json arrays litjson

我正在开发一个应用程序,其中我使用的数据来自服务器的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 个答案:

答案 0 :(得分: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"]);
}