1

基本的に、私はサーバーにリクエストを送信しています。そのレスポンスは"{"Result":"OK"}"取得できますが、処理メソッドでレスポンスを使用しようとすると:

public void ProcessData(java.lang.String stream) 
    {
        JSONArray jsonArray; 
        try
        {
        jsonArray = new JSONArray(stream);
        for(int i=0; i<jsonArray.length(); i++)
        {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            String itemText = jsonObject.getString("text");
            Response = itemText;
        }
        }catch (JSONException e)
        {
            e.printStackTrace();
        }
    }

stream の "{"Result":"OK"}" 場合、この行で失敗します

jsonArray = new JSONArray(stream);

何か案は?

4

4 に答える 4

3

これはjson配列ではないため、jsonオブジェクトです(で始まります{)..

jsonobject = new JSONObject(stream);
于 2013-04-15T11:19:53.410 に答える
1

JsonObject解析しようとして間違ってJsonArray いる

try {
        JSONObject jobj = new JSONObject(Respones);         
        String userid = jobj.getString("Result");               
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
于 2013-04-15T11:21:08.280 に答える
1

これjsonStrJsonObjectフォーマットです:

{name:value}

jSONArrayフォーマットではありません:

[{name:value}]

次を使用する必要があります。

JSONObject obj=new JSONObject(stream)  

新品は使えませんでしたJSonArray(stream);

于 2013-04-15T11:21:43.197 に答える
0

そこにはありませんJSONArray、ただJSONObject

jsonArray = new JSONObject(stream);
于 2013-04-15T11:20:12.650 に答える