繁体   English   中英

如何在 Javascript(邮递员)中从 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 keysvalues将它们分开。

您可以在数组中分别使用键和值。

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM