如何将jsonObject转换为android中的元素

Posted

技术标签:

【中文标题】如何将jsonObject转换为android中的元素【英文标题】:How to convert the jsonObject to element in android 【发布时间】:2021-05-13 00:02:53 【问题描述】:

我的对象就像下面的 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.Pretty Print 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/

【讨论】:

你能解释一下为什么 gson 或 stringbuilder 不适合我吗? 能否导入这两个包,然后检查import com.google.gson.Gson;导入 com.google.gson.GsonBuilder; 我的代码是这样的。仍然在android中出现错误。 JSONObject 工作 = 新 JSONObject(); JSONObject 内容 = 新 JSONObject(); content.put("数据", 数据); // data = value content.put("data1", data1); data1 = "value1":"value22", "value": val11" joob.put("response", content);

以上是关于如何将jsonObject转换为android中的元素的主要内容,如果未能解决你的问题,请参考以下文章

如何将java中的map转换成jsonobject

java.lang.String 无法从 Android 转换为 JSONObject

如何将 JSONObjects 转换为 JSONArray?

如何将 LinkedTreeMap 转换为 gson JsonObject

如何在将jsonObject转换为模型对象时检测缺失的字段

如何使用 gson 库将字符串转换为 JsonObject