1
更換逃生我對Android的這段代碼:在JSON對象的LinkedHashMap在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());
JSON對象也得到通過.put
方法添加到它其他的東西。這只是搞亂了「參與者身份」鍵。
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"}
我需要的時候idObject1
去除JSON對象的\
occurances被傳入它。它不一定非要使用Gson。我只是使用Gson來試圖讓它工作。我也試過:
json.put("ParticipantIds", idObject1);
,並使用JSON-簡單的將它傳遞的嘗試我總是得到\
轉義字符。 我甚至試過在idObject1
上做.toString()
,然後對其上的所有方法.replace
和.replaceAll
進行處理。它不起作用!
什麼是\轉義字符的問題是轉義序列。當您使用「字符串內的字符,然後字符串更改爲\」。所以我認爲逃跑的角色不會出現任何問題。當您嘗試解析該json字符串,然後您可以解析,我的意思是解析該json字符串時不會發生異常。 –
服務器不喜歡對象中的\,我需要刪除它。 – JaboJG
你應該與服務器人溝通,因爲帶有轉義字符的json字符串不會產生任何問題。 –