gpt4 book ai didi

java - 如何使用 java 在 json 对象中附加键值

转载 作者:行者123 更新时间:2023-11-29 04:59:41 27 4
gpt4 key购买 nike

我正在使用 org.json.JSONObject 包通过从 db 填充值来创建 JSONArray,我可以从 db 获取值并将它们放入 json 中的键-对,但在程序结束时:键和不附加值,而仅将数组的最后一行转换为 json 对象。我希望将它们附加到最终的 json 中。任何帮助将不胜感激。

  try {
MobileTestClass_Methods.InitializeConfiguration();
String sqlQuery = "SELECT id, NAME FROM campaign LIMIT 4; ";
Connection con = MobileTestClass_Methods.CreateSQLConnection();

String [][] arr = MobileTestClass_Methods
.ExecuteMySQLQueryReturnsArrayWithColumnName(con, sqlQuery);
JSONObject json = new JSONObject();
int totalrow =arr.length;
int totalcolumn =arr[0].length;

System.out.println("row: "+totalrow + " col: "+totalcolumn);

for(int i=1; i<totalrow; i++) {
for(int j=0; j<totalcolumn; j++) {
String key = arr[0][j];
String value = arr[i][j];
json.put(key, value);
System.out.println("Key: "+key + " value: "+value);
}
}

System.out.println("Json: "+json);

JSONArray array = new JSONArray();
array.put(json);

JSONObject main = new JSONObject();
main.put("result", array);

System.out.println("Final Json Array: "+main);
} catch(Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}

输出:

  row: 5 col: 2
Key: id value: 25256
Key: NAME value: megha_video
Key: id value: 32168
Key: NAME value: Mukesh_13Aug_vpaid
Key: id value: 25258
Key: NAME value: vast
Key: id value: 32167
Key: NAME value: SDK-rtb-hudson-130815
Json: {"id":"32167","NAME":"SDK-rtb-hudson-130815"}
Final Json Array: {"result":[{"id":"32167","NAME":"SDK-rtb-hudson-130815"}]}

最佳答案

您的查询结果始终返回键 idNAME,因此您不断地覆盖这些值。

如果你想拥有多个具有 idNAME 属性的对象,你应该使用 JSONArray 并创建嵌套的 JSONObject里面:

// ... previous code

String [][] arr = MobileTestClass_Methods.ExecuteMySQLQueryReturnsArrayWithColumnName(con, sqlQuery);
JSONArray json = new JSONArray ();
int totalrow =arr.length;
int totalcolumn =arr[0].length;

System.out.println("row: "+totalrow + " col: "+totalcolumn);

for(int i=1; i<totalrow; i++)
{
JSONObject row = new JSONObject();
for(int j=0; j<totalcolumn; j++)
{
String key = arr[0][j];
String value = arr[i][j];
row.put(key, value);
System.out.println("Key: "+key + " value: "+value);
}
json.put(row);
}

// ... rest of the code ...

关于java - 如何使用 java 在 json 对象中附加键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32498872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com