1

我在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方法获得添加到它的其他内容。它只是在“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 对象中的出现。idObject1它不一定必须使用 Gson。我只是为了让它工作而使用 Gson。我也试过:

json.put("ParticipantIds", idObject1);

并尝试使用 JSON-Simple 传递它。我总是得到\转义字符。我什至尝试过.toString()idObject1各种方法.replace.replaceAll方法。它不起作用!

4

1 回答 1

2

when u get JsonString replace that escape sequence as given below this works for removing escape sequences

  json.toString().replaceAll("\\\\","");
于 2012-06-18T13:33:52.603 回答