json - 反应原生 json 图像
问题描述
我想将 JSON 图像打印为变量。
这是我的本地 JSON 文件 (JsonData.json):
{
"appetizer": [
{
"num": "appetizer1",
"name": "salad",
"condition": [ "1", "2" ],
"image": "./appetizer/salad.png"
},
{
"num": "appetizer2",
"name": "soup",
"condition": [ "2", "3" ],
"image": "./appetizer/soup.png"
},
…
],
"main": [
{
"num": "main1",
"name": "beef",
"condition": [ "1" ],
"image": "./main/beef.png"
},
{
"num": "main2",
"name": "fish",
"condition": [ "2", "3" ],
"image": "./main/fish.png"
},
…
]
}
我在条件 =“2”时过滤了名称。(沙拉、汤、鱼)
这是过滤名称的代码:
const newArray1 = [...JsonData["apptizer"], ...JsonData["main"]];
const JsonResult = newArray1.filter(item => {
if(item.condition.indexOf("2") !== -1) return item.name;
});
并且我想在条件 =“2”时获取图像。
我怎样才能得到它们?我怎样才能打印出来?
我必须使用base64吗?如果是这样,你能告诉我如何使用它吗?我看到了解释,但我无法理解。
我以这种方式导入了 JSON 文件(我一直在正确使用它):
var JsonData = require('./JsonData.json');
解决方案
您可以使用以下代码:
let mainObject = JSON.parse(JSON.stringify(data))
let allKeys = Object.keys(mainObject)
let finalObject = []
allKeys.map((value, index) => {
let array = mainObject[value]
array.map((aryObject, aryIndex) => {
let condition = aryObject['condition']
if (condition.includes('2')) {
finalObject.push(aryObject)
}
})
})
alert(JSON.stringify(finalObject))
您可以在屏幕顶部导入数据:
import { data } from './data';
您可以在data.js中添加以下文本:
export const data = {
"appetizer": [
{
"num": "appetizer1",
"name": "salad",
"condition": ["1"],
"image": "./appetizer/salad.png"
},
{
"num": "appetizer2222",
"name": "soup",
"condition": ["2", "3"],
"image": "./appetizer/soup.png"
},
],
"main": [
{
"num": "main1",
"name": "beef",
"condition": ["1"],
"image": "./main/beef.png"
},
{
"num": "main2",
"name": "fish",
"condition": ["21", "3"],
"image": "./main/fish.png"
},
]
}
推荐阅读
- css - 按钮加载指示器边框动画
- javascript - findOneAndUpdate 中的文档未更新
- jupyter-notebook - 如何通过 http(而不是 https)访问 Jupyter Notebook?
- .net - 在 MVC 和 .NET 中使用 iText 7 生成 PDF 以供下载
- three.js - Three.js:场景中添加的 Object3D,附加到另一个 object3D 不会更新平移位置
- ios - 我必须使用标准共享 UserDefaults 对象吗?
- key - 按下键时播放声音C#
- javascript - 使用按钮在 Javascript 上隐藏和显示字段集在第一次单击时不起作用/如何在单击时更改按钮标题
- bash - AWK (bash) 中的自定义字段和行分隔符
- python - 使用pytest将参数传递给TestCase中的fixture