[英]Java add json key value at the beginning
我有一個看起來像這樣的 json 字符串jsonstring
{
"Users": [
{
"Name": "Appli",
"ID": "519"
},
{
"Name": "Dash",
"ID": "602"
}
]
}
如何在用戶前面添加鍵值對,如下所示:
{
"Department":"Accounting",
"Users": [
{
"Name": "Appli",
"ID": "519"
},
{
"Name": "Dash",
"ID": "602"
}
]
}
您好,您可以嘗試將字符串格式化為 JSONObject,然后使用 JSONObject 設置鍵值
try {
JSONObject jsonObject = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
}catch (JSONException err){
Log.d("Error", err.toString());
}
要解決這種特定情況,您可以識別模式並使用String.replaceAll
方法,如下所示:
String usersWithDepartment = jsonstring.replaceAll(
"(\"Users\":\\s*\\[)", // find a pattern for "Users" element
"\"Department\": \"Accounting\",\n $1" // add a prefix and keep the group $1 as is
);
System.out.println(usersWithDepartment);
這是一個快速修復,當然更合適的方法是使用評論中提到的一些 JSON 處理庫。
更新
如果輸入字符串中可能出現多次\"Users\"
數組,並且您只需將前綴添加到第一次出現,則正則表達式應更改為:
String usersWithDepartment = jsonstring.replaceAll(
"(?s)(\"Users\":\\s*\\[.*$)", // grab entire string, enable multiline selection
"\"Department\": \"Accounting\",\n $1" // add prefix
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.