gpt4 book ai didi

javascript - 读取简单的 JSON 数组

转载 作者:行者123 更新时间:2023-12-03 03:08:45 24 4
gpt4 key购买 nike

我正在尝试发送一个简单的数组,但它不起作用。我只想同时发送所有数组并读取containerName和containerStatus。

我的第一个 console.log 输出这个。

{"containerName":"123","containerStatus":"Up 2 hours"}{"containerName":"ingesdev","containerStatus":"Up 2 hours"}

Java

 List<Container> runningContainers = dockerClient.listContainersCmd()
.exec();

JSONObject jsonContainer = new JSONObject();

for (Container container:runningContainers) {
jsonContainer.put("containerName", container.getNames()[0].replace("/",""));
jsonContainer.put("containerStatus",container.getStatus());
response.getWriter().write(jsonContainer.toString());
}

JavaScript

 $.ajax({
type: 'post',
url: 'Containers',
success: function (result) {
console.log(result);
var container = container = JSON.parse(result);
console.log(container.containerName);

},
error: function() {

}
});

VM362:1 Uncaught SyntaxError: Unexpected token { in JSON at position 54 at JSON.parse () at Object.success (dashboard.js:10) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4) at XMLHttpRequest. (jquery.min.js:4)

最佳答案

您没有向客户端返回有效的 JSON。顶层不能有多个连续的对象。您应该在顶层有一个包含对象的数组。

服务器端:

JSONArray jsonArray = new JSONAarray();

for (Container container:runningContainers) {
JSONObject obj = new JSONObject();
obj.put("containerName", container.getNames()[0].replace("/",""));
obj.put("containerStatus",container.getStatus());
jsonArray.put(obj);
}
response.getWriter().write(jsonArray.toString());

客户端:

$.ajax({
type: 'post',
url: 'Containers',
success: function (result) {
JSON.parse(result).forEach(function(container) {
console.log(container.containerName);
});
},
error: function() {

}
});

关于javascript - 读取简单的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47041153/

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