Разделить строку json с несколькими массивами - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть строка JSON из нескольких массивов, полученных из внешнего интерфейса моего приложения.

String editList = [{"gradingId":"9","lowerLimit":"34","upperLimit":"55"},{"gradingId":"11","lowerLimit":"23","upperLimit":"45"},{"gradingId":"37","lowerLimit":"20","upperLimit":"35"}]

Я получаю отдельные элементы как,

gradingId= 9
lowerLimit=34 
UpperLimit=55

и т. Д.

есть ли способ получить доступ к gradingId, LowerLimit и upperLimit по их именам?

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018
let editList = [
{"gradingId":"9","lowerLimit":"34","upperLimit":"55"},
{"gradingId":"11","lowerLimit":"23","upperLimit":"45"},
{"gradingId":"37","lowerLimit":"20","upperLimit":"35"}]

editList.forEach((list,index) => {
   console.log(editList[index]);
)

Вы можете использовать функцию forEach для массива в JavaScript.

0 голосов
/ 26 сентября 2018
  1. Итерация по editList в виде массива с циклом for, методом Array и т. Д.
  2. Присвоение переменной свойству объекта с использованием скобочной записи .
editList[i][key]

var editList = [{"gradingId": "9","lowerLimit": "34","upperLimit": "55"}, {"gradingId": "11","lowerLimit": "23","upperLimit": "45"}, {"gradingId": "37","lowerLimit": "20","upperLimit": "35"}];

function propVal(arr, key) {
  var res = [];
  for (let i = 0; i < arr.length; i++) {
    res.push(arr[i][key]);
  }
  return `${key}: ${res}`;
}

console.log(propVal(editList, "gradingId"));
console.log(propVal(editList, "lowerLimit"));
console.log(propVal(editList, "upperLimit"));
0 голосов
/ 26 сентября 2018

Это поможет вам перебрать данные

let editList = [{"gradingId":"9","lowerLimit":"34","upperLimit":"55"},{"gradingId":"11","lowerLimit":"23","upperLimit":"45"},{"gradingId":"37","lowerLimit":"20","upperLimit":"35"}]

editList.map(listItem => {
  Object.keys(listItem).map(objItem => {
    console.log(objItem +'=' + listItem[objItem])
  })
})

Или, если ключи предопределены.Вы можете избежать второго цикла и использовать приведенный ниже код.

let editList = [{"gradingId":"9","lowerLimit":"34","upperLimit":"55"},{"gradingId":"11","lowerLimit":"23","upperLimit":"45"},{"gradingId":"37","lowerLimit":"20","upperLimit":"35"}]

editList.map(listItem => {
  console.log("gradingId" +'=' + listItem["gradingId"])
  console.log("lowerLimit" +'=' + listItem["lowerLimit"])
  console.log("upperLimit" +'=' + listItem["upperLimit"])
})
...