Json extract and use data (node.js)

前端 未结 5 996
南方客
南方客 2021-01-20 01:56

How can I access this data?

Here is my Json:

 {
  \"6a768d67-82fb-4dd9-9433-d83dbd2f1b78\": {
    \"name\": \"Bahut\",
    \"11\": {
      \"timestam         


        
相关标签:
5条回答
  • 2021-01-20 02:04

    You could use Object.keys to get an array of properties.

    var js = JSON.parse(json);
    var props = Object.keys(js);
    
    var result = props.map(function(prop) {
      return {
        id: prop,
        name: js[prop].name;
      };
    });
    

    The final result is an array of objects with 2 properties: id, name

    0 讨论(0)
  • 2021-01-20 02:13

    If you want to loop through the data, use a for in loop:

    for (var key in obj) { //obj is your data variable
        console.log(key); //xxxx-x-xx-x-x-xxxx
        console.log(obj[key].name); //the name for each
    }
    
    0 讨论(0)
  • 2021-01-20 02:19

    You need to use array-style access to get the subobject associated with the id key:

    var nameid = json["a12d22cc-240e-44d6-bc58-fe17dbb2711c"].name; // or ["name"]
    // nameid => "Cuis"
    

    This is because hyphens are not a valid character for dot-style access (can't use them in variable names in JavaScript).

    In order to extract all of the you will need to loop through the object, and add them to an array, like so:

    var arr = [];
    for (var id in json) {
        arr.push(json[id]["name"]);
    }
    

    Which will give you an array of all the names in that JSON object.

    0 讨论(0)
  • 2021-01-20 02:19

    not a common way of looping, but in this case you could loop over the json object

    for (var prop in json){
         print("prop",json[prop].name);
    }
    
    0 讨论(0)
  • 2021-01-20 02:20

    Access the JSON like you would an array, eg:

    data["a12d22cc-240e-44d6-bc58-fe17dbb2711c"].name
    

    jsfiddle

    0 讨论(0)
提交回复
热议问题