2016-08-21 110 views
-3

我有这种格式的JSON。
我尝试创建序列化类来存储值。如何读取JSON数组中的对象

如何阅读“personaldata”字段?

我正在制作一个单独的类PersonalData来读取它。
在我的主序列化类我读它作为

List<PersonalData>personalData 

是它做的正确方法? 如果是这样,我将如何获取个人数据值?

{ 
    "result": [ 
    { 
     "name": 0, 
     "age": 1, 
     "class": 0, 
     // More data here 
     "personalData": { 
     "isMarried": true, 
     "isEligible": false, 
     "Indian": true 
     } 
    } 
    ] 
} 
+0

有成千上万的回答这个问题了。您可以使用GSON,但在发布问题前先搜索网页。 –

回答

0

如果您使用的是一些像解析器或GSONLoganSquare可以使用他们的标注,这将是很容易直接解析JSONmodel。否则,如果您使用的是本地JSON API

您可以使用类似这样

JSONArray arr=new JSONArray(response); 
JSONObject personalData=arr.getJSONObject("personalData"); 
+0

我只使用gson,我无法写模型类来存储valeues.i,我是新分析的。 –

+0

看到@ cricket_007的上面的答案,因为他已经为你创建模型的青睐。现在你可以使用GSON g = new GSON(); 结果r = g.fromJson(response,Results.class); –

0

我想提出一个单独的类PersonalData读它..

好,然后是你如何访问它。通过从某些父项Results对象中获取该对象。

例如,给出了一些实现以下类的,一旦你反序列化JSON,您使用Results.getResults().get(0).getPersonalData();

public class Results { 
    ArrayList<ResultData> result; 

    // TODO: write getResults() 
} 
public class ResultData { 
    int name, age, class; 
    // Some more data 
    PersonalData personalData; 

    // TODO: write getPersonalData() 
} 
public class PersonalData { 
    boolean isMarried, isEligible, Indian; 
}