从json获取确切的数据以做出反应

时间:2018-05-17 11:53:16

标签: javascript arrays json reactjs

我有这个JSON文件:

console.log(data[0][0]);    // bagette
console.log(data[0][1]);    // 0.200
console.log(data[1][0]);    // farine
console.log(data[3][1]);    // 4.000

我想将json文件中的数据转换为数组,例如:

0x4142

我是React的初学者请有人帮我写代码吗?

5 个答案:

答案 0 :(得分:2)

var data = [{
  "name": "bagette",
  "price": "0.200"
}, {
  "name": "farine",
  "price": "1"
}, {
  "name": "tomato",
  "price": "1.200"
}, {
  "name": "chocola",
  "price": "4.000"
}];

data = data.map(val=>Object.values(val));

console.log(data[0][0]);    
console.log(data[0][1]);    
console.log(data[1][0]);   
console.log(data[2][1]);

答案 1 :(得分:2)

您可以使用JSON.parse()json解析为对象。然后,您可以将每个对象映射到数组。请注意,这是完全确保order of the properties是所需的唯一方法,因为对象属性没有保证顺序。



const json = '[{"name": "bagette","price": "0.200"}, {"name": "farine","price": "1"},{"name":"tomato","price": "1.200"}, {"name": "chocola","price": "4.000"}]';

const data = JSON.parse(json);

const transformedData = data.map(obj => [obj.name, obj.price]);

console.log(transformedData[0][0]);    // bagette
console.log(transformedData[0][1]);    // 0.200
console.log(transformedData[1][0]);    // farine
console.log(transformedData[3][1]);    // 4.000




但我真的不知道这是不是一个好主意。当您已在数据集中访问已命名的属性时,为什么要引入magic numbers

答案 2 :(得分:2)

您可以使用Array.prototype.map()返回数组

public static readonly Uri UriBaseV2 = new Uri("https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases");

答案 3 :(得分:1)

let arr = [{
  "name": "bagette",
  "price": "0.200"
}, {
  "name": "farine",
  "price": "1"
}, {
  "name": "tomato",
  "price": "1.200"
}, {
  "name": "chocola",
  "price": "4.000"
}]

let data = arr.map(item=>{
    return [item.name, item.price]
})

你需要什么?

答案 4 :(得分:0)

不清楚你想要做什么

Yu可以使用

console.log(data[0].name) //bagette
console.log(data[0]['name']) //bagette

或迭代对象中的每个属性:

for(var propertyName in data[0]){
    console.log(data[0][propertyName]);
}