Javascript 将JSON头和行转换为节点JS中的对象键

Javascript 将JSON头和行转换为节点JS中的对象键,javascript,node.js,json,reactjs,api,Javascript,Node.js,Json,Reactjs,Api,我从API获取节点JS中JSON格式的数据。但是JSON有标题和行格式数据(还附带了屏幕截图)。它包含数据“供应商、价格、SKU、错误”。我想把这些数据放到下面的对象中。我可以通过循环中的键访问其中任何一个。e、 g(产品价格) 我的目的是格式化对象中的API数据,以便使用键和索引进行访问。请在这方面帮助我。我会感激你的帮助 感谢您尝试用以下内容更改代码: request(options, function (error, response, body) { if (error) throw

我从API获取节点JS中JSON格式的数据。但是JSON有标题和行格式数据(还附带了屏幕截图)。它包含数据“供应商、价格、SKU、错误”。我想把这些数据放到下面的对象中。我可以通过循环中的键访问其中任何一个。e、 g(产品价格)

我的目的是格式化对象中的API数据,以便使用键和索引进行访问。请在这方面帮助我。我会感激你的帮助


感谢您尝试用以下内容更改代码:

request(options, function (error, response, body) {
  if (error) throw Error(error);
  let JSONdata = JSON.parse(body);


  console.log(typeof JSONdata); // JSONdata is an object, so you can start to manipulate it
  console.log(JSONdata); // show in console the object

  for (var key in JSONdata) {
    for (var innerKey in JSONdata[key]) {
      console.log("Key: " + innerKey + " value: " + JSONdata[key][innerKey]);
    }
  }
});
我在CodeSandbox中发布了一个示例

从MDN文档:

parse()方法解析JSON字符串,构造该字符串所描述的JavaScript值或对象


我希望我已经帮助了您。

我看到您使用了JSON.stringify,然后是JSON.parse。这有什么原因吗?如果两个都省略了,会得到什么?如果只省略JSON.stringify(body),会发生什么?不,没有任何具体原因。我只是在检查不同的方法来获得结果谢谢@Nicola Lanzoni我以前尝试过这个方法,但是得到了解决方案,用products=[]pro.rows.forEach(row=>{let product={};for(设z=0;zrequest(options, function (error, response, body) { if (error) throw Error(error); let JSONdata = JSON.parse(body); console.log(typeof JSONdata); // JSONdata is an object, so you can start to manipulate it console.log(JSONdata); // show in console the object for (var key in JSONdata) { for (var innerKey in JSONdata[key]) { console.log("Key: " + innerKey + " value: " + JSONdata[key][innerKey]); } } });