如何从 Javascript 中的 JSON 对象获取 Key 和 Value (Postman)

How to get Key and Value from JSON object in Javascript(Postman)

我有一个这样的 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,....

您可以使用以下代码:

const keys = Object.keys(jsonObject);
const values = Object.values(jsonObject);

但是你的JSON对象很深,你应该把它弄平然后用Objectkeysvalues把它们分开。

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

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]);})})

首先从行中删除逗号:"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>

终于对我有用了!(在 Postman 脚本中)

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);