2017-02-03 1 views
0

残りのAPIを使用してjavaのjson postリクエストからコンソール上で次の出力が得られます。javaはjsonから受け取った出力を分離し、別のメソッドに値を渡します

{"id":"19494","key":"DF-1079","self":"http://sjira/rest/api/2/issue/19494"} 

この出力からキーを取り出し、javaを使用して他のメソッドに渡す必要があります。

+0

自分勝手にしないでください。同じものをデシリアライズするためのクラスを記述します。必要なパラメータを渡します。これのための内部クラスの芸術を学びなさい。あなたの応答ジャックのために – soufrk

答えて

0

jsonオブジェクトでentrySet()を使用し、Listを実装する必要があります。このメソッドは、メソッドまたは任意の場所で引数としてさらに使用できます。

JSONParser parser = new JSONParser(); 
    JSONObject jObj = (JSONObject) parser.parse(postString); // postString contains your response string 

    List<String> keys = new ArrayList<String>(); 
    for (Entry<String, JsonElement> e : jObj.entrySet()) { 
     keys.add(e.getKey()); 
    } 
+0

ありがとう。私はここでコンパイルエラーが発生しています。JsonObject jObj = new JsonObject(出力);コンストラクタJsonObject(String)は未定義です – user2147357

+0

これは、使用しているJSONライブラリのバージョンが原因です。あなたはあなたが使っているバージョンを知ることができますか? –

+0

私はjsoup-1.8.2 – user2147357

0

json解析用にGsonライブラリを使用できます。 このjsonライブラリはjson Stringを必要なオブジェクトに変換します。あなたはそれからキーが欲しいので、それをマップに解析させてからキーセットを得ることができます。このキーセットを必要に応じて他の方法に渡します。

コード例

Gson gson = new Gson(); 
String response= "{\"id\":\"19494\",\"key\":\"DF-1079\",\"self\":\"http://sjira/rest/api/2/issue/19494\"}"; 
//below line will parse your response to map 
Map<String,Object> map = gson.fromJson(response, Map.class); 
//get keyset from it pass to some method. 
passToSomeMethod(map.keySet()) 

このキーセットはSet型のものであろう。それを使用する方法の実装は、それに応じて行う必要があります。 完了

関連する問題