Javascript 从json获取准确的数据以作出反应

Javascript 从json获取准确的数据以作出反应,javascript,arrays,json,reactjs,Javascript,Arrays,Json,Reactjs,我有这个JSON文件: [{ "name": "bagette", "price": "0.200" }, { "name": "farine", "price": "1" }, { "name": "tomato", "price": "1.200" }, { "name": "chocola", "price": "4.000" }] 我想将数据从json文件获取到react中的数组,例如: console.log(data[0][0]); // ba

我有这个JSON文件:

[{
  "name": "bagette",
  "price": "0.200"
}, {
  "name": "farine",
  "price": "1"
}, {
  "name": "tomato",
  "price": "1.200"
}, {
  "name": "chocola",
  "price": "4.000"
}]
我想将数据从json文件获取到react中的数组,例如:

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

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

不太清楚你想做什么

余能用

console.log(data[0].name) //bagette
console.log(data[0]['name']) //bagette
或迭代对象中的每个属性:

for(var propertyName in data[0]){
    console.log(data[0][propertyName]);
}
var数据=[{
“姓名”:“百吉饼”,
“价格”:“0.200”
}, {
“名称”:“farine”,
“价格”:“1”
}, {
“名称”:“西红柿”,
“价格”:“1.200”
}, {
“姓名”:“巧克力”,
“价格”:“4.000”
}];
data=data.map(val=>Object.values(val));
console.log(数据[0][0]);
console.log(数据[0][1]);
console.log(数据[1][0]);
console.log(数据[2][1])

这就是您所需要的吗?

您可以将
json
解析为具有。然后可以将每个对象映射到一个数组。请注意,这是完全确保所需顺序的唯一方法,因为对象属性没有保证顺序

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]);//百吉饼
console.log(转换数据[0][1]);//0.200
console.log(transformedData[1][0]);//法林
console.log(transformedData[3][1]);//4.000
可用于返回数组的数组

var数据=[{
“姓名”:“百吉饼”,
“价格”:“0.200”
}, {
“名称”:“farine”,
“价格”:“1”
}, {
“名称”:“西红柿”,
“价格”:“1.200”
}, {
“姓名”:“巧克力”,
“价格”:“4.000”
}];
data=data.map((x)=>[x.name,x.price]);
console.log(数据[0][0]);
console.log(数据[0][1]);
console.log(数据[1][0]);

console.log(数据[2][1])
你能解释一下为什么要这样做吗?为什么不使用
数据[0]['name']
数据[0]['price']
?或数据[0]。名称和数据[0]。价格谢谢这是我需要的:)
对象。值()
不能保证值的顺序正确,因为对象属性在javascript中没有定义顺序。谢谢,这就是我需要的:)@MrabetIheb真正的问题仍然是:为什么需要命名属性而不是属性。如果答案对您有帮助,请将其标记为已接受/向上投票。@trixn这只是一个示例,因此我编写或更改代码的任何命名的礼仪仍然有效,顺便说一句,谢谢您。@MrabetIheb No它将无效。如果更改属性名称,显然从对象到数组的映射将不再有效。数组应用作相同类型元素的容器。在大多数情况下,像您这样使用它是一种反模式。
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]
})