【问题标题】:How to add ["xxx"] to JSONObject, it adds escape character [duplicate]如何将 ["xxx"] 添加到 JSONObject,它添加了转义字符 [重复]
【发布时间】:2018-04-03 13:33:24
【问题描述】:
final String gene = "[" + "\"" + "xxx" + "\"" + "]";
String jsonString = new JSONObject()
                .put("type", "Clinical")
                .put("tests", gene).toString();

在我的 jsonString 中添加了转义字符 \ {"tests":"[\"PR20065.01\"]","type":"Clinical"}

我要发帖 {"tests":["PR20065.01"],"type":"Clinical"}

*我是java新手

【问题讨论】:

  • 为什么要预先格式化文本? JSONObject 将为您格式化。如果您想将一组值添加到 tests 键,那么您应该使用 JSONArray 对象
  • 您应该为此使用 JSONArray:请阅读stackoverflow.com/questions/12142238/…

标签: java


【解决方案1】:

问题是您添加字符串["xxx"] 作为tests 的值,而实际上您需要JSONArray。请注意,整个 tests 值都用引号引起来。这是因为它实际上是一个看起来像数组的字符串。您不能在 JSON 中使用 ",因此它们被转义了。

您希望创建一个 JSONArray 对象,然后您可以添加 .我不确定您在这里使用的是什么库,但我假设是 Android SDK。您应该能够通过将 String 值传递给新的 JSONArray 来解决您的问题(尽管我从未使用过 Android SDK,所以我不确定这是否有效):

String jsonString = new JSONObject()
                .put("type", "Clinical")
                .put("tests", new JSONArray("xxx")).toString();

【讨论】:

  • 非常感谢 :-)
  • 不客气!如果它正在做您想做的事情,您应该将其标记为已接受的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多