{
"page": {
"size": 2,
"number": 2
},
"places": [
{
"eventName": "XYZ",
"createdByUser": "[email protected]",
"modifiedDateTime": "2021-03-31T09:59:48.616Z",
"modifiedByUser": "[email protected]"
}
]}
我正在嘗試用新字串更新“eventName”欄位。我嘗試使用以下代碼,它更新欄位但僅回傳 json 陣列中的四個欄位。
public String modifyJson() throws Exception{
String jsonString = PiplineJson.payload(PiplineJson.filePath());
System.out.println(jsonString);
JSONObject jobject = new JSONObject(jsonString);
String uu = jobject.getJSONArray("places")
.getJSONObject(0)
.put("eventName", randomString())
.toString();
System.out.println(uu);
return uu;
}
這就是上面的代碼所做的。
{
"eventName": "ABCD",
"createdByUser": "[email protected]",
"modifiedDateTime": "2021-03-31T09:59:48.616Z",
"modifiedByUser": "[email protected]"
}
一旦它更新了 eventName 提交,我就會嘗試獲取完整的 json。
{
"page": {
"size": 2,
"number": 2
},
"places": [
{
"eventName": "ABCD",
"createdByUser": "[email protected]",
"modifiedDateTime": "2021-03-31T09:59:48.616Z",
"modifiedByUser": "[email protected]"
}
]}
uj5u.com熱心網友回復:
問題在于您將操作鏈接在一起的方式。問題是您正在呼叫呼叫toString()的結果put。該put呼叫回傳內部的JSONObject,它被稱為上。所以你最終序列化了錯誤的物件。
改變這一點:
String uu = jobject.getJSONArray("places")
.getJSONObject(0)
.put("eventName", randomString())
.toString();
到
jobject.getJSONArray("places")
.getJSONObject(0)
.put("eventName", randomString());
String uu = jobject.toString();
應該管用。
uj5u.com熱心網友回復:
那是因為您要回傳從“places”陣列中提取的第一個元素。您應該回傳“jobject.toString()”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/367349.html
