2

非常に新しい のJava Development解析ここにあるのは私JSONの.JAVACode

package com.zenga.control;

import java.io.BufferedReader;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;

public class Start {

    public String readUrl(String urlString) {
        String jsonString = null;   
        try {
            HttpClient client = new HttpClient();
            GetMethod get = new GetMethod(urlString);
            client.executeMethod(get);
            jsonString = get.getResponseBodyAsString();
        }catch(Exception e) {

        }
             return jsonString;
    }

    public void getAddAsBeanObject()    {
        try {
        String jsonString =  new Start().readUrl("http://myDomain/JsonZ.json");     
        JSONObject obj = (JSONObject) JSONSerializer.toJSON(jsonString);        


        System.out.println(obj);
        } catch (Exception e) {  
           e.printStackTrace();  
          }
    }
    public static void main(String[] args) {
        new Start().getAddAsBeanObject();
    }
}

値の読み取りに成功し、コンソールJSONObjectにもすべての文字列が表示されますが、and のJSON値を取得するにはどうすればよいですか? ここで私が読んだ文字列IDUIDDURATIONJSONSystem.out.println(obj);

{
  "Demo": {
    "CONTENT": [
      {
        "ID": " 283 ",
        "UID": " 87897bc8-ae9b-11e1-bdcf-123141042154 ",
        "DURATION": "Full"
      },
      {
       "ID": " 283 ",
        "UID": " 87897bc8-ae9b-11e1-bdcf-123141042154 ",
        "DURATION": "Full"
      }
    ]
  }
}
4

6 に答える 6

1

次のコードを使用して、JSON 配列 'CONTENT' 内の JSON オブジェクトを反復処理.get(java.lang.String)し、文書化されているように使用して、JSONObject.

を取得する方法のみを示しましたIDが、他の値にも同じロジックが適用されます。

JSONObject obj = (JSONObject) JSONSerializer.toJSON(jsonString);
JSONArray content = obj.getJSONObject("Demo").getJSONArray("CONTENT");

java.util.Iterator<?> iterator = content.iterator();
while (iterator.hasNext()) {
    JSONObject o = (JSONObject) iterator.next();
    System.out.println(o);
    System.out.println(o.get("ID"));
    // etc...
}
于 2013-05-24T09:01:43.547 に答える
0

GSONはあなたにとって大きな助けになると思います。ここを参照してくださいJSONオブジェクトを文字列に解析する

サンプルコードもあります

于 2013-05-24T08:58:13.030 に答える
0

JSONObject で「get」メソッドを使用できると思います。どのキーを探すべきかわからない場合は、「keys」と呼ばれるもののように、使用可能なすべてのキーを返すメソッドを使用することをお勧めします。これらの値を使用すると、構造内を下にトラバースできます。ここを参照してください: http://json-lib.sourceforge.net/apidocs/net/sf/json/JSONObject.html

于 2013-05-24T08:35:54.257 に答える
-1

json 文字列から読み取りたい変数を持つクラスを作成します。残りは Gson が処理します。

https://code.google.com/p/google-gson/

使用例:

//convert the json string back to object
DataObject obj = gson.fromJson(br, DataObject.class);
于 2013-05-24T08:42:53.330 に答える