3

サーバーから次のString応答が返ってきました。

{"fid":"1272","uri":"http://someurl/services/file/1272"}

に変換する必要がありJSONArrayます。何か助けはありますか?

ちなみに、私はこれを試しましたが、うまくいきません:

String response=getResponseFromServer();
JSONArray array = new JSONArray(response);

エラーが発生します:

org.json.JSONException: Value {"fid":"1272","uri":"http://someurl/services/file/1272"} of type org.json.JSONObject cannot be converted to JSONArray
4

2 に答える 2

12

Java ライブラリで JSONを使用する場合、入力文字列は JSON オブジェクトであり、JSON 配列ではないため、最初に JSONObject を使用してロードする必要があります。

String response=getResponseFromServer();
JSONObject jsonObject = new JSONObject(response);

その後、toJSONArray()を使用して、キー文字列の配列を指定して JSONObject を JSONArray に変換できます。

String[] names = JSONObject.getNames(jsonObject);
JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));
于 2013-06-09T17:26:21.520 に答える
5

ここで StackOverflow でJava String to JSONArrayを検索すると、次の回答が得られるはずです: Converting from JSONArray to String then back again

JSONArray jArray;
String s = jArray.toString(); // basically what you have ;)
JSONArray newJArray = new JSONArray(s);
于 2013-06-09T17:25:55.813 に答える