• 1000 со строками в нем.
Проблема в том, что когда JSON возвращается в браузер, в нем есть лишние символы \\ ...
Пример:
{"readyState":4,"responseText":"{\"success\":false,\"messages\":\"{\\\"error\\\":\\\"Error modifying the user.\\\"}\"}" ...
После поиска похоже, что это могут быть вложенные JSON данные, которые вызывают проблему?
Я создаю его вот так ...
import com.fasterxml.jackson.databind.ObjectMapper;
public String toJSON() {
String sRet = "";
Map<String,String> messages = new HashMap<String,String>();
messages.put("error", "Error modifying the user.");
ObjectMapper mapper = new ObjectMapper();
try {
sRet = mapper.writeValueAsString(messages);
} catch (Exception x) {
// ...
}
return sRet;
}
И затем возвращаю его в браузер вот так ...
@RequestMapping(value = "/json/user", method = RequestMethod.POST)
public ResponseEntity<String> modifyUser(@RequestBody String json) throws Exception {
boolean bSuccess = true;
/* ... do the modify user stuff which builds a Messages object, and sets bSuccess = false if there's an error ... */
JSONObject replyObj = new JSONObject();
replyObj.put("success", bSuccess);
replyObj.put("messages", messages.toJSON());
return new ResponseEntity<String>(replyObj.toJSONString(), (bSuccess) ? HttpStatus.OK : HttpStatus.BAD_REQUEST);
}
Как правильно построить этот JSONObject, чтобы в нем не было всех лишних косых черт?