gpt4 book ai didi

Java 返回 JSONArray

转载 作者:行者123 更新时间:2023-11-30 04:18:26 24 4
gpt4 key购买 nike

我正在尝试从java中的Map创建一个jsonarray。我将它传递给一个 JavaScript 变量。但我不知道为什么 mac 和状态是空白的,非常感谢任何帮助。

我需要什么:

[{"12345":{"mac":"FFFFFFFF", "status":"ON"}]

我使用当前代码得到的结果:

[{"12345":{}]

这是我的代码,

public class Details {

public JSONArray getResult() {
return JSONArray.fromObject(this.det);
}
public Map det = new HashMap();

public results() {
ResultSet rs;
det.put(rs.getString(1), new NodeDetails(rs.getString(2), rs.getString(3));
}
class NodeDetails {
public final String MAC;
public final String status;

public NodeDetails(final String ma,final String st) {
this.MAC = ma;
this.status = st;
}
}
}

最佳答案

您对任何库有限制吗?我的意思是您是否使用 http://org.json 中的 JSON 库或者哪个库?

以下是我尝试使用 http://org.json 中的 JSON 库的代码:

public class Test {

public static class NodeDetails {
public final String MAC;
public final String status;

public NodeDetails(final String ma, final String st) {
this.MAC = ma;
this.status = st;
}
}

public static void main(String[] args) throws Exception {
Map<String, NodeDetails> map = new HashMap<String, NodeDetails>();
// do something with you ResultSet? and populate the map ;)
map.put("12345", new NodeDetails("FFFFFF", "ON"));

JSONObject jsonMap = new JSONObject();
for (Map.Entry<String, NodeDetails> entry : map.entrySet()) {
JSONObject object = new JSONObject();
object.put(entry.getValue().MAC, entry.getValue().status);
jsonMap.put(entry.getKey(), object);
}

JSONArray jsonArray = new JSONArray();
jsonArray.put(jsonMap);

System.out.println(jsonArray.toString());

}
}

您可以在此处阅读有关 API 的更多信息: http://json.org/java/

关于Java 返回 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757886/

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