使用java在json文件中添加键值
我有一个json文件,如下所示使用java在json文件中添加键值,java,json,Java,Json,我有一个json文件,如下所示 { "List": [ { "C1": "A", "C2": "mail1", "C3": "1" }, { "C1": "B", "C2": "mail2", "C3": "2" }, { "C1": "C", "C2": "mail3", "C3": "3" }, { "C1":
{
"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.0jar进行了尝试
但它最终增加了关键的价值。感谢您的帮助。您可以通过以下方式实现这一点
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();
}
试试看{
JSONObject objs=新的JSONObject(“{\”列表\“:[\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(“列表”);
for(int i=0;i
您是否编译了此代码,这不是JSONArray。@SachinGupta那么它是什么?它是JSONObject您是否正确地看到了此代码?从JSONArray获取JSONObject,然后添加键并更新JSONArray您无法更改现有映射中的顺序。它保留插入顺序。您可以尝试的一件事是,通过放置新的键值对来创建一个新映射,然后将原始映射中的所有键值放置到新创建的映射中。向我们展示您尝试使用jackson执行此操作的代码。很难帮助您修复我们看不到的代码