私はAndroidでこのコードを持っています:
Map<String, String> idObject1 = new LinkedHashMap<String, String>();
idObject1.put("Id", "Test1");
idObject1.put("FirstName", "Test Name");
idObject1.put("LastName", "Test Surname");
idObject1.put("PhoneNumber", "12345");
Gson gson = new Gson();
json.put("ParticipantIds", gson.toJson(idObject1));
Log.d("Json", json.toString());
Log.d("ParticipantsJson", gson.toJson(idObject1).toString());
.putjsonオブジェクトは、メソッドを介して他のものも追加します。「ParticipantIds」キーで混乱しているだけです。
json.toString()
出力
{"ParticipantIds":"{\"Id\":\"Test1\",\"FirstName\":\"Test Name\",\"LastName\":\"Test Surname\",\"PhoneNumber\":\"12345\"}",
と
gson.toJson(idObject1).toString());
出力
{"Id":"Test1","FirstName":"Test Name","LastName":"Test Surname","PhoneNumber":"12345"}
jsonオブジェクトに渡された\ときにjsonオブジェクトのオカレンスを削除する必要があります。idObject1必ずしもGsonを使用する必要はありません。私はそれを機能させるためにGsonを使用しただけです。私も試しました:
json.put("ParticipantIds", idObject1);
そして、JSON-Simpleを使用してそれを渡してみました。私は常に\エスケープ文字を取得します。私はそれをやってみて.toString()、idObject1それからあらゆる方法.replaceと.replaceAll方法をやってみました。動作しません!