Javascript 我需要获取JSON响应的内部内容
我有以下代码从服务器检索JSON响应,它工作正常。 Javascript代码:Javascript 我需要获取JSON响应的内部内容,javascript,angularjs,json,spring,Javascript,Angularjs,Json,Spring,我有以下代码从服务器检索JSON响应,它工作正常。 Javascript代码: $http({ method: 'POST', url: 'http://***SOMEURL', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json'}, data: JSON.stringify(data) }) .then(function (response) { $
$http({
method: 'POST',
url: 'http://***SOMEURL',
headers: { 'Content-Type': 'application/json', 'Accept': 'application/json'},
data: JSON.stringify(data)
})
.then(function (response) {
$scope.myData = response.data;
$scope.myData1=response.data.message.connectionDetailses;
});
答案是
{
"code": 100,
"message": {
"id": 29020,
"customerCode": "730",
"name": "John P. M. 168",
"lastName": "X",
"houseName": "Hosuseahjkahsh",
"address1": "1",
"address2": "x",
"address3": "wehwhkjwh P. O.",
"postalCode": "686011",
"email": "11@11.com",
"phone": "1234567890",
"mobile": "1234567890",
"operatorName": "abcd ",
"connectionDetailses": [
{
"customerCode": "730",
"accountId": 5,
"dueAmount": 0,
"connectionId": 27203,
"accountName": "M S"
},
{
"customerCode": "730",
"accountId": 5,
"dueAmount": 2000,
"connectionId": 116303,
"accountName": "MS"
},
{
"customerCode": "730",
"accountId": 9,
"dueAmount": 0,
"connectionId": 116303,
"accountName": "Connection"
},
{
"customerCode": "730",
"accountId": 14,
"dueAmount": 0,
"connectionId": 116303,
"accountName": "Amc"
}
]
}
}
我需要根据connectionId打印连接详细信息。我可以一次打印所有连接详细信息。但我需要在一个区块内打印详细信息
{
"customerCode": "730",
"accountId": 9,
"dueAmount": 0,
"connectionId": 116303,
"accountName": "Connection"
}
我想,您可以使用
Array#filter
仅过滤具有所需id的连接。类似于:
const details = response.data.message.connectionDetailses
.filter(connection => connection.connectionId === 116303)[0]
给定connectionId,您可以通过以下方式打印相应的连接详细信息:
let connectionId = 116303
let connectionDetail = response.data.message.connectionDetailses.find(det => det.connectionId === connectionId);
console.log(connectionDetail);
如果要基于相同id获取所有详细信息,可以使用array.filter:
let connectionId = 116303
let connectionDetails = response.data.message.connectionDetailses.filter(det => det.connectionId === connectionId);
console.log(connectionDetails);
欢迎来到SO。本网站不是一个代码编写服务,也不是为了提供完整的解决方案。用户需要付出一些努力和编写一些代码,而SO将在这里帮助您解决具体的编程问题。你已经试过什么了吗?谢谢你的建议。但仍然不起作用(但我有3个id为116303的连接。如何基于同一id获取所有3个详细信息?我已更新了答案如何从所选详细信息计算dueAmount之和?您可以只使用array.reduce:var dueAmountSum=connectionDetails.reduce((total,det)=>(total+det.dueAmount),0);