如何将字符串中的嵌套Json转换为java中的Json对象

时间:2018-02-06 10:48:49

标签: java json

我正在寻找一些Java库,它可以在下面转换为String给Json对象。

输入:从文件中读取字符串。

{ "product": "{\"sku\":\"rtwre-rtwe\",\"price\":\"50.90\",\"currency_code\":\"SGD\",\"quantity\":1}", "is_organic": "0", "can_claim": "0", "t": "r", "device": "Phone", "amount_transactions": "0" }

预期输出:在一些通用的Java Json对象中。

{
   "product": {
      "sku": "rtwre-rtwe",
      "price": "50.90",
      "currency_code": "SGD",
      "quantity": 1
   },
   "is_organic": "0",
   "can_claim": "0",
   "t": "r",
   "device": "Phone",
   "amount_transactions": "0"
}

Imp点:这是示例代码,我有更多动态json,没有任何与我的json对应的Java对象。我可以在任何键中使用字符串json。它并不特定于特定键。我正在寻找更通用的代码。

这里我的目标是,如果我读取关键“产品”的值,它应该返回Json而不是String。我想使用JsonPath库阅读$ .product.price。 http://jsonpath.com/

Edit1:我对Gson,Jackson和JsonObject库没有太多经验,但我尝试了无论我能做什么。如果您处理过同样的情况,请帮帮我。

1 个答案:

答案 0 :(得分:2)

要解决此问题,您可以使用:

JSONObject jsonObj = new JSONObject(myStringValue);
String myJsonStructureAsString = jsonObj.toString();

其中JSONObject是org.json.JSONObject形式lib json-org.v2017.05.16.jar