简体   繁体   English

在 Javascript 中迭代具有多个 json 字符串的对象

[英]Iterating through an object with several json strings in Javascript

Sorry for the rookie question but I couldn't find an answer on similar questions.很抱歉这个菜鸟问题,但我找不到类似问题的答案。

I have an object made up of hundreds of json strings and I want to iterate through the object and return specific values from each string.我有一个由数百个 json 字符串组成的对象,我想遍历该对象并从每个字符串返回特定值。

I have this code我有这个代码

 const leo =
   '{"contractName":"tokens","contractAction":"stake","contractPayload":{"to":"hivebuilder","symbol":"LEO","quantity":"0.161"}}';

 const obj = JSON.parse(leo);

 console.log(obj.contractPayload.to, obj.contractPayload.quantity);

Which returns:返回:

hivebuilder 0.161

That's exactly what I want, but I want to do it to a nested json object like this:这正是我想要的,但我想对这样的嵌套 json 对象执行此操作:

const leo = [
  '{"contractName":"tokens","contractAction":"stake","contractPayload":{"to":"hivebuilder","symbol":"LEO","quantity":"0.161"}}',
  '{"contractName":"tokens","contractAction":"stake","contractPayload":{"to":"pele23","symbol":"LEO","quantity":"1.031"}}',
];

My expected result would be:我的预期结果是:

hivebuilder 0.161
pele23 1.031

I know I have to use a loop to iterate through each string, but I can't wrap my head around how to do it, any help please?我知道我必须使用循环来遍历每个字符串,但我无法理解如何去做,请帮忙?

try this尝试这个

let names = leo.map(function (item) {
  const elem = JSON.parse(item);
  return elem.contractPayload.to + " " + elem.contractPayload.quantity;
});

console.log(JSON.stringify(names));

result结果

["hivebuilder 0.161","pele23 1.031"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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