0

誰かが私を助けてくれることを願っています。

JSONをiOSアプリケーションに返すDjangoサーバーがあります。Djangoサーバーでは、

return HttpResponse(json.dumps(session_dict),mime_type)

JSONを(Wireshark経由で)クライアントに返す

2f {"セッション": "bcb493fb21ae8fcd9152e1924b3e5d9a"} 0

この応答は、iOSJSONクライアントライブラリで解析できるiOSアプリケーションに対して何らかの形で有効です。これは私には有効なJsonのようには見えないので、動作することに驚いています。

ただし、Androidで次のものを使用すると、エラーが発生します。

タイプjava.lang.Stringの値セッションはJSONObjectに変換できません。

jsonObjSend.put("username", strUserName);
                jsonObjSend.put("password", strPassword);

                 Add a nested JSONObject (e.g. for header information)
                JSONObject header = new JSONObject();
                header.put("deviceType","Android"); // Device type
                header.put("deviceVersion","2.0"); // Device OS version
                header.put("language", "es-es");
                jsonObjSend.put("header", header);

                // Output the JSON object we're sending to Logcat:
                Log.i(TAG, jsonObjSend.toString(2));

            } catch (JSONException e) {
                e.printStackTrace();
            }



            try {
                // Send the HttpPostRequest and receive a JSONObject in return
                JSONObject jsonObjRecv = HttpClient.SendHttpPost(URL, jsonObjSend);
                String sessionId = jsonObjRecv.getString("session");

助言がありますか?

ありがとうございました、

グレッグ

4

2 に答える 2

0

HttpClient.sendHttpPostメソッドはJSONObjectを返しますか?HTTPPOSTからの応答本文をJSONObjectに自動的に解析するかどうかはわかりません。そうでない場合は、JSONTokenerを使用するか、 Gsonなどのライブラリを使用する必要があります。

于 2012-04-30T05:41:56.840 に答える
0

googleのGSONは、インスタンスをjson文字列に直接変換できるより良い選択かもしれません。

User user =new User("tom","12");
Gson gson =new Gson();
json=gson.toJson(user);
于 2012-04-30T06:03:43.947 に答える