我有一个像这样的JSON对象,我想用邮递员中的键和值访问列表数组元素。
{
"data": {
"total": 1,
"list": [
{
"id": 53,
"name": "Sonu",
"mobileNo": "6543213456",
"address": "Greeny Pathway",
"city": "NewYork",
"mode": "Weekly",
"duration": "15",
"qty": null
}
]
},
"success": true,
"message": ""
}
如何在Javascript中将其作为键和值分开
Key: id,name,mobileNo,address,city,..
Value: 53,Sonu,6543213456,Greeny Pathway,NewYork,....
答案 0 :(得分:0)
您可以使用以下代码:
const keys = Object.keys(jsonObject);
const values = Object.values(jsonObject);
但是您的JSON对象很深,您应该将其展平,然后使用keys
中的values
和Object
将它们分开。
答案 1 :(得分:0)
您可以在数组中分别使用键和值。
var a = {
"data": {
"total": 1,
"list": [
{
"id": 53,
"name": "Sonu",
"mobileNo": "6543213456",
"address": "Greeny Pathway",
"city": "NewYork",
"mode": "Weekly",
"duration": "15",
"qty": null,
}
]
},
"success": true,
"message": ""
}
var keyval = Object.keys(a.data.list[0])
console.log(keyval)
var values = Object.values(a.data.list[0])
console.log(values)
答案 2 :(得分:0)
JSON对象是键值对,您无法根据需要获取对象形式的键和值,但是可以从此代码中以数组的形式获取键和值
var key = []
var values = []
list.map(function(l){ keys = Object.getOwnPropertyNames(l);
keys.map(function(key) {values.push(l[key]);})})
答案 3 :(得分:0)
首先从第"qty": null,
行中删除逗号,否则将导致json解析错误。
var resultJSON = `{
"data": {
"total": 1,
"list": [
{
"id": 53,
"name": "Sonu",
"mobileNo": "6543213456",
"address": "Greeny Pathway",
"city": "NewYork",
"mode": "Weekly",
"duration": "15",
"qty": null
}
]
},
"success": true,
"message": ""
}`;
var result = $.parseJSON(resultJSON);
var myList = result.data.list[0];
$.each(myList, function(k, v) {
//display the key and value pair
alert(k + ' is ' + v);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 4 :(得分:0)
最后这对我有用!(用邮递员脚本)
var resdata = JSON.parse(responseBody);
console.log(resdata);
key = Object.keys(resdata.data.list[0]);
console.log(key);
value =Object.keys(resdata.data.list[0]);
console.log(value);