如果我使用“應用程式/文本”和 res.text(),它會回傳純文本而不是陣列。如果我使用 res.json(),我會在結尾處得到一個無效的標記 '<' 如果我使用 JSON.stringify(final),我會得到一串無法決議的額外換行符。有沒有另一種方法可以從公用檔案夾中準備好?
謝謝
這是我得到的示例檔案結構,不是一個 json,而是一個物件物體陣列:
檔案名:newFile.dto
[
{
id: 0,
img: 'C:\\ReactProjects\\IMAGES\\DSC_0134.jpg',
test: 'another column'
},
{
id: 1,
img: 'C:\\ReactProjects\\IMAGES\\DSC_0135.jpg',
test: 'another column 1'
},
{
id: 2,
img: 'C:\\ReactProjects\\IMAGES\\DSC_0136.jpg',
test: 'another column 2'
},
{
id: 3,
img: 'C:\\ReactProjects\\IMAGES\\DSC_0137.jpg',
test: 'another column 3'
}
]
async function testFileRead()
{
let myArray = await fetch('newFile.dto',{
headers : {
'Content-Type': 'application/text',
'Accept': 'application/text'
}
}
)
.then(res =>{
return res.text(); //res.json()
})
.then(final =>{
return final;
})
}
uj5u.com熱心網友回復:
你可以eval()在之后使用fetch:
console.log("data", myArray); //text as string
console.log("eval", eval(myArray)); //array JS
注意 永遠不要使用 eval()!:從字串執行 JavaScript 存在巨大的安全風險。
正如Keith建議使用 at leas 比使用更安全eval:
const arr = new Function("return [..." myArray "]")();
console.log(arr.map((obj) => obj.test));// ['another column', 'another column 1', 'another column 2', 'another column 3']
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/359688.html
標籤:javascript json 接口 拿来
上一篇:在Python中決議多級JSON
