#java #json #double-quotes #backslash
#java #json #двойные кавычки #обратная косая черта
Вопрос:
Я создаю некоторый JSONObject, используя классы java. Давайте назовем это MyJSONObject. Это должна быть внутренняя строковая часть другого объекта JSON. Вот так:
[
{
"httpRequest": {...},
"httpResponse": {
"headers": {
"content-type": [
"application/json"
]
},
"body": "MyJSONObject"
}
]
Проблема в том, что когда я пытаюсь поместить его в виде строки, используя mapper.writeValueAsString(MyJSONObject), я получаю все кавычки с обратной косой чертой в теле консоли :
[
{
"httpRequest": {...},
"httpResponse": {
"headers": {...},
"body": "{"key":"value","key":"value"}"
}
]
вместо ожидаемого:
"body": "{"key":"value","key":"value"}"
Я попытался заменить каждую кавычку кавычкой с обратной косой чертой, используя метод replace(""", "\"")
для моей строки, но результат еще хуже:
"body": "{\"key\":\"value\",\"key":\"value\"}"
Как я могу просто поместить свою строку, чтобы избежать этой обратной косой черты?
Комментарии:
1. Ваша «ожидаемая» версия — недопустимый JSON.
Ответ №1:
Вы можете попробовать следующий подход, который даст вам ожидаемый результат.
JSONObject subJson = new JSONObject(); subJson.put(“name”, “java”);
JSONObject parentJson = new JSONObject() parentJson.put(“company”, ”stack”); parentJson.put(“employees”, subJson);
System.out.print(“Final output - ” parentJson.toString());