如何在React.js中解析JSON?

时间:2019-05-06 20:24:18

标签: reactjs

我需要解析服务器的JSON响应。 JSON的格式如下:

请参见下面的示例。

同义词标签中可以有任意数量的0,1标签和任意数量的元素。我需要将此数据解析为数组或可能是带有键的一个数组。我不知道该怎么做。

  Example 1
  words:
     0: 
      synonyms:  
            0: "дисплей"
            1: "процессор"
            2: "монитор"
            3: "интернет"
            4: "смартфон"
            5: "принтер"
            6: "компьютерный"
            7: "ноутбук"
            8: "эвм"
            9: "сервер"


 Example 2
  words:
     0: 
      synonyms:  
            0: "дисплей"
            1: "процессор"
            2: "монитор"
            3: "интернет"
            4: "смартфон"
            5: "принтер"
            6: "компьютерный"
            7: "ноутбук"
            8: "эвм"
            9: "сервер"
     1: 
      synonyms:  
            0: "дисплей"
            1: "процессор"
            2: "монитор"
            3: "интернет"
            4: "смартфон"
            5: "принтер"
            6: "компьютерный"
            7: "ноутбук"
            8: "эвм"
            9: "сервер"

1 个答案:

答案 0 :(得分:0)

我不确定所需的确切输出,但是以下内容可能会有所帮助。

使用下面的解析器

const array = [];

Object.keys(words).forEach(wordIndex => {
    const insideObj = words[wordIndex];
    const synObj = insideObj.synonyms;
    const tempArray = [];
    Object.keys(synObj).forEach(objKey => {
        tempArray.push(synObj[objKey]);
    });
    array.push(tempArray);
})

输入:

var words = {
    0: {
        synonyms: {
            0: "дисплей",
            1: "процессор",
            2: "монитор",
            3: "интернет",
            4: "смартфон",
            5: "принтер",
            6: "компьютерный",
            7: "ноутбук",
            8: "эвм",
            9: "сервер"
        }      
    },
    1: {
        synonyms: {
            0: "дисплей",
            1: "процессор",
            2: "монитор",
            3: "интернет",
            4: "смартфон",
            5: "принтер",
            6: "компьютерный",
            7: "ноутбук",
            8: "эвм",
            9: "сервер"
        }      
    }
}

输出应为

[
  [
    "дисплей",
    "процессор",
    "монитор",
    "интернет",
    "смартфон",
    "принтер",
    "компьютерный",
    "ноутбук",
    "эвм",
    "сервер"
  ],
  [
    "дисплей",
    "процессор",
    "монитор",
    "интернет",
    "смартфон",
    "принтер",
    "компьютерный",
    "ноутбук",
    "эвм",
    "сервер"
  ]
]