2012-11-20 63 views
2

我正在开发一个应用程序,我使用json格式的服务器上的数据。 但是我能够正常解析JSON数据,但无法解析使用数组JSON数据,如何使用Litjson解析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进行解析。

回答

7

您应该创建yourselft以下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"]); 
} 
+0

Thanks !!!它的工作很好! – dd619