#java #android #json #gson
#java #Android #json #gson
Вопрос:
Мой объект похож на приведенный ниже json. Мне нужно преобразовать объект в элемент json. Но он преобразуется как строка. Как я могу это преобразовать?
Мой объект:
{"data":"valuse","one_data":{"user_id":"id","name":"name"}}
Возвращает, как показано ниже:
{"response":"{"data":"valuse","one_data":{"user_id":"id","name":"name"}}"}
Ожидается:
{"response": {"data":"valuse","one_data":{"user_id":"id","name":"name"}}}
Мой код:
JSONObject myData = jsdata1;
Gson gson = new Gson();
JsonElement element = gson.fromJson(myData.toString(), JsonElement.class);
System.out.println("element === " element);
Ответ №1:
** Вы можете использовать Pretty Print вывод JSON (Jackson).
Ниже приведены несколько примеров**
1. Преобразуйте объект и распечатайте его выходные данные в формате JSON. `
User user = new User();
//...set user data
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(user));`
2.Красиво напечатать строку JSON
String test = "{"age":29,"messages":["msg 1","msg 2","msg 3"],"name":"myname"}";
Object json = mapper.readValue(test, Object.class);
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json));
Ссылка : http://www.mkyong.com/java/how-to-enable-pretty-print-json-output-jackson /
Комментарии:
1. Можете ли вы пояснить, почему gson или stringbuilder не работают для меня?
2. можете ли вы импортировать эти два пакета, а затем проверить import com.google.gson. Gson; импортируйте com.google.gson. GsonBuilder;
3. Мой код выглядит следующим образом. Все еще получаю ошибку в android. JSONObject joob = new JSONObject(); JSONObject content = new JSONObject(); content.put(«данные», данные); // data = значение content.put(«data1», data1); data1 = {«value1″:»value22», «value»: val11″} joob.put(«ответ», содержимое);