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