2017-03-21 11 views
0

Json StringをListに変換する方法、またはGStringを使用して変換する方法、失敗した場合は、そのことを行ったいくつかの終了方法を見落とすことがあります。それを作るための他の良い方法や、私にいくつかのヒントを与えることができます。Java JsonArrayStringをリストに変換する<String> Or String []

[ 
{ 
    "test": "test" 
}, 
{ 
    "test": "test" 
}, 
{ 
    "test": "test", 
    "test2": "test2", 
    "test3": [ 
     { 
      "test": "test" 
     }, 
     { 
      "test": "test" 
     } 
    ] 
} 
] 
+0

http://www.jsoneditoronline.org/でjsonデータを検証した後の彼のhttp://stackoverflow.com/questions/15871309/convert-jsonarray-to-string-array –

答えて

0

値がJSONObjectかJSONArrayかどうかはわかりません。この場合、MapやObjectをValue(これはテストされていません)のように使いたいかもしれません。

class Model { 
    private Map<String, Object> test; 
} 

あなたは値が(たとえば)を使用してJSONArrayまたはJSONObjectであるかどうかを検証する必要が注意してください:私は最後にresovelする方法を見つける

if (this.getTest().getValue() instanceof JSONObject.class) { ... } 
0

を:

// Converting JSON String array to Java String array 
    String jsonStringArray = "[{\"test\":\"test1\"},{\"test\":\"test2\"},{\"test\":\"test3\",\"test2\":[{\"test\":\"test1\"},{\"test\":\"test2\"}]}]"; 

    // creating Gson instance to convert JSON array to Java array 
    Gson converter = new Gson(); 

    Type type = new TypeToken<List>() { 
    }.getType(); 
    List list = converter.fromJson(jsonStringArray, type); 

    // convert List to Array in Java 

    System.out.println("Java List created from JSON String Array - example"); 
    System.out.println("JSON String Array : " + jsonStringArray); 
    System.out.println("Java List : " + list); 

    // let's now convert Java array to JSON array - 
    String toJson = converter.toJson(list); 
    System.out.println("Json array created from Java List : " + toJson); 

出力:

Java List created from JSON String Array - example 
JSON String Array : [{"test":"test1"},{"test":"test2"},  
{"test":"test3","test2":[{"test":"test1"},{"test":"test2"}]}] 
Java List : [{test=test1}, {test=test2}, {test=test3, test2=[{test=test1}, {test=test2}]}] 
Json array created from Java List : [{"test":"test1"},{"test":"test2"},{"test":"test3","test2":[{"test":"test1"},{"test":"test2"}]}] 
+0

私は誤ってタイプを設定していましたが、リストなしリスト

関連する問題