我有一个如下所示的 json 文件。
{
"List": [
{
"C1": "A",
"C2": "mail1",
"C3": "1"
},
{
"C1": "B",
"C2": "mail2",
"C3": "2"
},
{
"C1": "C",
"C2": "mail3",
"C3": "3"
},
{
"C1": "D",
"C2": "mail4",
"C3": "4"
}
]
}
我想向这个 json 文件添加一个键值。它应该如下所示。
{
"List": [
{
"C0": "I1",
"C1": "A",
"C2": "mail1",
"C3": "1"
},
{
"C0": "I2",
"C1": "B",
"C2": "mail2",
"C3": "2"
},
{
"C0": "I3",
"C1": "C",
"C2": "mail3",
"C3": "3"
},
{
"C0": "I4",
"C1": "D",
"C2": "mail4",
"C3": "4"
}
]
}
我们如何在java8中实现这一点。我已经尝试使用jackson-all-1.9.0 jar 但它最后添加了关键值。帮助是appricied。
最佳答案
您可以通过以下方式实现此目的。
try {
JSONObject objs = new JSONObject("{\"List\":[\n" +
"{\"C1\":\"A\",\"C2\":\"mail1\",\"C3\":\"1\"},\n" +
"{\"C1\":\"B\",\"C2\":\"mail2\",\"C3\":\"2\"},\n" +
"{\"C1\":\"C\",\"C2\":\"mail3\",\"C3\":\"3\"},\n" +
"{\"C1\":\"D\",\"C2\":\"mail4\",\"C3\":\"4\"}\n" +
"]}");
JSONArray jsonArray=objs.getJSONArray("List");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
obj.put("C0", "I" + (i + 1));
jsonArray.put(i,obj);
}
Log.v("TAG_RESULT",jsonArray.toString());
} catch (JSONException e) {
e.printStackTrace();
}
关于java - 使用java在json文件中添加键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46726657/