Как преобразовать JSONObject в элемент в Android

#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(«ответ», содержимое);