![](/img/trans.png)
[英]Postman - How to get a value from a JSON array inside a JSON object
[英]How to get Key and Value from JSON object in Javascript(Postman)
我有一个像这样的 JSON object,我想用 postman 中的键和值访问列表数组元素。
{
"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,....
首先将第 : "qty": null,
行中的逗号去掉"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>
您可以使用以下代码:
const keys = Object.keys(jsonObject);
const values = Object.values(jsonObject);
但是您的 JSON 对象很深,您应该将其展平,然后使用Object
keys
和values
将它们分开。
您可以在数组中分别使用键和值。
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)
JSON 对象是键值对,您无法根据需要以对象形式获取键和值,但可以从此代码中以数组的形式获取两者
var key = []
var values = []
list.map(function(l){ keys = Object.getOwnPropertyNames(l);
keys.map(function(key) {values.push(l[key]);})})
最后这对我有用!(在邮递员脚本中)
var resdata = JSON.parse(responseBody);
console.log(resdata);
key = Object.keys(resdata.data.list[0]);
console.log(key);
value =Object.values(resdata.data.list[0]);
console.log(value);
var resdata = JSON.parse(responseBody); 控制台.log(resdata);
抱歉,这里的 responseBody 是什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.