出力はString jsreturn: [{"type":1, "msg":"ERROR"}]
です。org.json.JSONException:JSONArray [0]はJSONObjectではありません
私はmsg
の内容であるERRORを取得しようとしています。私は配列に文字列のリターンを変換することによってそれをやっています。しかし、私はいくつかのエラーを次のコードの各行の隣にコメントしています。 洞察?
Vector<ClsReturn> ret = null;
ret = ds.id(collection, "fs",in_uri);
String jsReturn = ret.toString();
JSONObject myJsonObject = new JSONObject(ret);
JSONArray array = new JSONArray(jsReturn);
int i = 0;
while(i < array.length()){
myJsonObject = array.getJSONObject(i); //org.json.JSONException: JSONArray[0] is not a JSONObject.
System.out.println(myJsonObject.getString("msg"));
i++;
}
あなたの例では、実際には意味がありません。あなたのJSONには(少なくともあなたが私たちに示しているもの)はありません。また、配列はJSONを保持する 'jsReturn'ではなく' solrReturn'を表します。 – Pshemo
JSon配列の記述方法ではありません。SOLrの戻り値の型はjsonオブジェクトで使用するためのものではありません.jsonオブジェクトの配列を返すには、これらの2つのパラメータを含むオブジェクトのリストを定義するか、ワイルドカードのリストがあります。 –
現在のコードでこの問題を再現することはできません。これは、 'jsReturn'にはあなたが記述しているJSON構造が含まれていないことが示唆されています。 – Pshemo