Parse json从webservice收到了吗?

时间:2014-04-03 17:31:16

标签: java android json

我需要解析这个JSON:

{
  "out":{
    "nroRegistros":1,
    "asignaciones":[
      {
        "lat":"456",
        "lng":"456",
        "direccion":"Nocedal 108    Estacion Central",
        "depto":null,
        "descripcion":"Casa amplia, cerca del metro las rejas",
        "tipoVehiculo":null,
        "referencia":null,
        "rutDenunciante":null,
        "nombreDenunciante":null,
        "apePaternoDenunciante":null,
        "apeMaternoDenunciante":null,
        "fonoMovilDenunciante":null,
        "ambito":null,
        "prioridad":null,
        "ley":null,
        "articulo":null,
        "marcaVehiculo":null,
        "colorVehiculo":null,
        "placaPatente":null,
        "id":null
      }
    ]
  },
  "status":{
    "code":1,
    "message":"success"
  }
}

从我读过的所有内容中,我无法找到一个例子或东西来指导我。我是json的新手,我无法真正找到让它工作的方法。我已经阅读了很多教程,但它们都非常简单。我理解他们,但我不能让这个工作。

3 个答案:

答案 0 :(得分:0)

首先,使用一些json解析器来可视化数据,例如http://jsonviewer.stack.hu/。这将使您更容易理解数据的结构。

下一步是创建一个模型类来接受您正在接收的json。您必须自己,在eclipse或您可能正在使用的任何其他IDE中执行此操作。

看起来像这样:

public class JsonModel{
     public Object out;
     public Object status;
}

这里我将Object作为常规类型,您可能希望将变量定义为适当的类型以反映json文件的结构。

一旦你拥有模型,你可以简单地通过任何json库获取数据,我喜欢使用Gson第三方进行任何json工作。它会是这样的:

string json = getJsonFromInternet(); 
JsonModel mymodel = new Gson().fromJson(json, JsonModel.class);

您的数据将作为Java对象存储在mymodel中,您可以根据需要使用它。

我希望这会有所帮助。

答案 1 :(得分:0)

找到Json解析教程

Json Parsing good example

答案 2 :(得分:0)

You can achieve this by using JsonLib.

Try to put those values in HashMap , make sure you create the same structure of pojo classes as defined in the Json String (case sensitive)

Your json will be mapped using the classMap.put method. From there on , we have a great controller over the java bean object.

Try to explore few things, before you jump into it

String json = "{'out':[{'test':'testname'},{'test2':'testname2'}]}";  
Map classMap = new HashMap();  
classMap.put( "out", YourClass.class );  
MyBean bean = JSONObject.toBean( JSONObject.fromObject(json), MyBean.class, classMap ); 


Reference

<link>http://json-lib.sourceforge.net/snippets.html</link>