我有一个类似于的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);

最佳答案

问题在于新城市的定义。
您在双引号中使用了双引号,但不清楚。
在双引号中使用单引号,您将很高兴。

 JSONArray newcity = new JSONArray("[{'cityName':'city3', 'temprature':20},{'cityName':'city4', 'temprature':20}]");

10-08 01:00