-1

A は Json からのハード文字列を持っています。例:

[
    {
        "Group1": [
            {
                "id": "2b3b0db",
                "name": "Ivan"
            },
            {
                "id": "4f3b0db",
                "name": "Lera"
            }
        ]
    },
    {
        "Group2": [
            {
                "id": "42ae2a7",
                "name": "Victor"
            }
        ]
    }
]

Gsonからどのように解析できますか? ありがとう!

4

4 に答える 4

1

次のコードを試してください

   public String parse(String jsonLine)
{
   JSONArray jArraymain=new JSONArray(jsonLine);


    JSONObject  jobject=array.getJSONObject(0);

       JSONArray jArraySub=jobject.getJSONArray("Group1");


 for(int i=0;i<=jobject.length;i++)
  {


   String temp=jArraySub.get(i).toString();

   }




} 



also you can use this 

 public String parse(String jsonLine) {
JsonElement jelement = new JsonParser().parse(jsonLine);
JsonObject  jobject = jelement.getAsJsonObject();
jobject = jobject.getAsJsonObject("data");
JsonArray jarray = jobject.getAsJsonArray("translations");
jobject = jarray.get(0).getAsJsonObject();
String result = jobject.get("translatedText").toString();
return result;

}

于 2013-07-03T05:45:28.663 に答える
0

GSONを使用する必要がありますか? json.orgから JSONObject を使用できる場合は、ほとんど取得できます。

    URL url = this.getClass().getClassLoader().getResource("json" + File.separator + "GroupJson.json");
    JSONArray jsonArray = new JSONArray(FileUtil.readFile(url.getPath()));
    JSONObject jsonObject = jsonArray.getJSONObject(0);
    log.info("{}", jsonObject.toString());

この出力: {"Group1":[{"id":"2b3b0db","name":"Ivan"},{"id":"4f3b0db","name":"Lera"}]}

于 2013-07-03T18:43:41.357 に答える
0

以下はあなたを助けるでしょう。以下のコード スニペットはまだ実行していません。

JsonElement jelement = new JsonParser().parse("json data");
JsonArray  jgrouparray = jelement.getAsJsonArray();
for(int i=0; i<jgrouparray.size(); i++){
    JsonArray jgroup = jgrouparray.get(i).getAsJsonArray("Group"+i);
    for(int j=0; j<jgroup.size(); j++){
        JsonObject jobject = jgroup.get(j).getAsJsonObject();
        String id = jobject.get("id").toString();
        String name = jobject.get("name").toString();
    }
}

詳細については、Gson for Java を使用した JSON 解析を参照してください。

于 2013-07-03T04:21:59.033 に答える