我想修改上面这个例子中的nestedObject和innerObject数据,分别怎么操作
时间: 2024-04-16 16:26:52 浏览: 48
要修改上面例子中的 `nestedObject` 和 `innerObject` 的数据可以按照以下步骤进行操作:
1. 获取 `nestedObject` 对应的 JSONObject:
```java
JSONObject nestedObject = jsonObject.optJSONObject("nestedObject");
```
2. 在 `nestedObject` 中修改 `innerObject` 的数据:
```java
if (nestedObject != null) {
// 获取 innerObject 对应的 JSONObject
JSONObject innerObject = nestedObject.optJSONObject("innerObject");
if (innerObject != null) {
// 修改 innerObject 的数据
innerObject.put("key1", "new value1");
innerObject.put("key2", "new value2");
}
}
```
完整的示例代码如下:
```java
JSONObject jsonObject = new JSONObject();
try {
JSONObject nestedObject = new JSONObject();
JSONObject innerObject = new JSONObject();
innerObject.put("key1", "value1");
innerObject.put("key2", "value2");
nestedObject.put("innerObject", innerObject);
jsonObject.put("nestedObject", nestedObject);
} catch (JSONException e) {
e.printStackTrace();
}
// 修改 nestedObject 和 innerObject 的数据
JSONObject nestedObject = jsonObject.optJSONObject("nestedObject");
if (nestedObject != null) {
JSONObject innerObject = nestedObject.optJSONObject("innerObject");
if (innerObject != null) {
innerObject.put("key1", "new value1");
innerObject.put("key2", "new value2");
}
}
System.out.println(jsonObject.toString()); // 打印 JSONObject
```
这样就可以分别修改 `nestedObject` 和 `innerObject` 的数据。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文