我正在解析一些数据使用类型类在我的控制器。我得到的数据如下:

{  
   "data":{  
      "userList":[  
         {  
            "id":1,
            "name":"soni"
         }
      ]
   },
   "status":200,
   "config":{  
      "method":"POST",
      "transformRequest":[  
         null
      ],
      "transformResponse":[  
         null
      ],
      "url":"/home/main/module/userlist",
      "headers":{  
         "rt":"ajax",
         "Tenant":"Id:null",
         "Access-Handler":"Authorization:null",
         "Accept":"application/json, text/plain, */*"
      }
   },
   "statusText":"OK"
}

我试着这样存储数据

var userData = _data;
var newData = JSON.parse(userData).data.userList;

如何提取用户列表到一个新变量?


当前回答

第一个在变量中设置请求值:

let reqData = req.body.reqData;
if (reqData) {
  let reqDataValue = JSON.parse(JSON.stringify(reqData));
}

其他回答

永远不要使用JSON。解析而不封装在try-catch块中:

// payload 
let userData = null;

try {
    // Parse a JSON
    userData = JSON.parse(payload); 
} catch (e) {
    // You can read e for more info
    // Let's assume the error is that we already have parsed the payload
    // So just return that
    userData = payload;
}

// Now userData is the parsed result

就在JSON上面。解析,使用:

var newData = JSON.stringify(userData)

JSON的第一个参数。parse函数应该是一个字符串,而你的数据是一个JavaScript对象,所以它将强制它为字符串“[object object]”。您应该使用JSON。在传递数据之前进行Stringify:

JSON.parse(JSON.stringify(userData))

第一个在变量中设置请求值:

let reqData = req.body.reqData;
if (reqData) {
  let reqDataValue = JSON.parse(JSON.stringify(reqData));
}

给出像这样的try catch,如果它被stringized了,它将解析它,否则将采用默认值

let example;
   try {
   example  = JSON.parse(data)
  } catch(e) {
    example = data
  }