![](/img/trans.png)
[英]Add new key,value and update existing value of key in JSON file in java
[英]Add new entry to the json file which has dup key
data.json,請注意dup關鍵城市
{
"type": "1",
"city": [
{
"name": "c1",
"dis": [
{
"dis_name": "d1"
},
{
"dis_name": "d2"
}
]
}
],
"city": [
{
"name": "c2",
"dis": [
{
"dis_name": "d3"
},
{
"dis_name": "d2"
}
]
}
]
}
我認為,由於存在dup鍵,因此從文件構建的JSON對象不正確或具有部分數據。
JSONObject obj = new JSONObject(readJSONFromAsset());
從stackoverflow復制的readJSONFromAsset(),
public String readJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("data.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return json;
}
在obj中,我僅看到json文件的部分數據。 在json文件/對象中添加以下新條目的最佳方法是什么?
"city": [
{
"name": "c3",
"dis": [
{
"dis_name": "d5"
},
{
"dis_name": "d2"
}
]
}
]
這不是有效的json文檔。 有效的json不能有重復的密鑰。 當您嘗試將其視為JSON時會發生什么情況取決於您的反序列化器選擇如何實現它-它可能會引發異常,保留第一個或保留最后一個作為常見選擇。
唯一有效的答案是修復您的數據,以便它是有效的json文檔。 我建議將城市變成一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.