2017-04-24 15 views
-4

なぜJsonObject "obj"がオブジェクトではないのですか? 文字列 "HAは、" "HA" Iつもりリターン場合JsonStringなぜ私の文字列をJsonValueに解析できないのですか?

public static JsonObject get() { 
String response = ""; 
JsonObject obj= new JsonObject(); 
int i = 0; 
String ha = ""; 
String h = ""; 
ArrayList <Integer> ra = new ArrayList <Integer>(); 
try{ response = Request.Get("my url") 
.execute().returnContent().asString(); 
} 
catch(IOException ex){ ex.printStackTrace(); 
} 
String[] data = response.split("}"); 
ArrayList<String> dataInList = new ArrayList<String>(Arrays.asList(data)); 
obj.add(response, 0); ha = obj.toString().substring(1); 
JsonValue jsonValue = Json.parse(ha); 
obj = jsonValue.asObject(); 

ようなフォーマットである

結果は以下のようになります。{\"title\":\"Numb\",\"artist\":\"Linkin Park\",\"ratings\":5,4,5,1,3,\"youtubeID\":\"kXYiU_JCYtU\"}

が、私はJsonObject obj結果はなりますが返されます場合:

Exception in thread "main" java.lang.UnsupportedOperationException: Not an object: "{\"title\":\"Carly Rae Jepsen - I Really Like You (Live At Capital Summertime Ball)\",\"artist\":\"CarlyRaeJepsenVEVO\",\"ratings\":5,\"youtubeID\":\"5kwZCFItrfY\"}" 

    at com.eclipsesource.json.JsonValue.asObject(JsonValue.java:295) 
    at MusicRatings.getAllSongsFromAPI(MusicRatings.java:146) 
    at MusicRatings.main(MusicRatings.java:257) 
+1

画像/リンクとしてテキスト/コードを投稿しないでください([more info](http://meta.stackoverflow.com/a/285557) – Pshemo

+0

投稿を修正するには[編集]オプションを使用してください。 – Pshemo

+0

別のJsonObjectを作成するためにJSONの部分文字列を解析しても正しく表示されません。ここで何をしようとしていますか? – Pshemo

答えて

0

定格jsonは配列としてフォーマットする必要があります。 JSONでは、値の配列は次のように宣言されます:

{

"タイトル": "麻痺"、

"アーティスト": "リンキン・パーク"、

「評価":[5,4,5,1,3]、

"youtubeID":" kXYiU_JCYtU」

}

あなたのケースでは、4がレーティング配列の次の要素だったのか、それがjsonの次の要素だったのか混乱しました。 そして、解析する前に、あなたのjsonが解析可能かどうかを検証するいくつかのオンラインjsonパーサを使用してください。

関連する問題