要对JSONObject中的指定字段重新赋值,可以使用FastJSON提供的API。具体实现过程如下:
String jsonString = "{\"name\":\"张三\",\"age\":18}";
JSONObject jsonObject = JSON.parseObject(jsonString);
Person person = JSON.parseObject(jsonString, Person.class);
person.setAge(19);
person.setName("李四");
String jsonString = JSON.toJSONString(person);
JSONObject jsonObject = JSON.parseObject(jsonString);
下面给出两个示例说明:
示例一:实现将JSONObject中的某个字段值加1
String jsonString = "{\"count\":10, \"name\":\"张三\"}";
JSONObject jsonObject = JSON.parseObject(jsonString);
int count = jsonObject.getIntValue("count");
count++;
jsonObject.put("count", count);
String newJsonString = jsonObject.toJSONString();
示例二:实现将JSONObject中的多个字段值生成新的JSONObject
String jsonString = "{\"name\":\"张三\",\"age\":18, \"school\":\"JAVA中心\"}";
JSONObject jsonObject = JSON.parseObject(jsonString);
String newName = jsonObject.getString("name") + "李";
int newAge = jsonObject.getIntValue("age") + 1;
JSONObject newJsonObject = new JSONObject();
newJsonObject.put("name", newName);
newJsonObject.put("age", newAge);
String newJsonString = newJsonObject.toJSONString();