我有一个类似于的json
JSONObject jsonToReplace =new JSONObject({"country":"India",
"city":[{"cityName":"city1", "temprature":30},{"cityName":"city2", "temprature":40}]});
现在我有了另一个值:
JSONArray newcity = new JSONArray("[{"cityName":"city3", "temprature":20},{"cityName":"city4", "temprature":20}]");
我正在使用com.jayway.jsonpath.DocumentContext
替换值。
doc.set("city", newcity);
作为回应,我得到了
{"country":"India",
"city":[{},{}]}
预期
{"country":"India",
"city":[{"cityName":"city3", "temprature":20},{"cityName":"city4", "temprature":20}]}
DocumentContext doc = JsonPath.parse(JsonToModify);
doc.set("city", newcity);
答案 0 :(得分:0)
问题在于newcity的定义。 您在双引号中使用了双引号,但不清楚。 在双引号中使用单引号,您会很方便。
JSONArray newcity = new JSONArray("[{'cityName':'city3', 'temprature':20},{'cityName':'city4', 'temprature':20}]");