fastjson对JSONObject中的指定字段重新赋值-已上传

匿名 (未验证) 提交于 2019-12-03 00:38:01

JSONObject对同一个key重新put时,新值就会取代旧值,没有set之类的方法

构建json string时,所有的引号都要转义

package xx;   import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject;   // 对JSONObject中的指定字段重新赋值 public class testJsonReplace {       public static void main(String[] args) {   		String query_jsonstr = "{\"timezone\":\"GMT+0\",\"action\":\"front_BRAND\",\"format\":\"true\",\"lan\":\"en_us\",\"column\":[\"day\",\"impressions\",\"clicks\",\"ctr\",\"brand_estimated_ecpm\",\"pay_out\"],\"dimension\":[\"day\"],\"filter\":{\"posid\":{\"op\":\"in\",\"value\":\"2454105\"}},\"start\":1528761600000,\"end\":1529452800000}"; 		JSONObject query = JSON.parseObject(query_jsonstr);   		if (query.getJSONObject("filter") != null) { 			JSONObject posJson = new JSONObject(); 			posJson.put("op", "in"); 			posJson.put("value", "2454117"); 			query.getJSONObject("filter").put("posid", posJson); 		}         String posid = query.getJSONObject("filter").getJSONObject("posid").getString("value"); 		String newJsonStr = query.toJSONString(); 		System.out.println(newJsonStr);     } }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!