第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Javascript - 從變量加載 json

Javascript - 從變量加載 json

楊__羊羊 2023-06-29 15:53:56
metaModelSrc:“myfile.json” - 工作得很好,但我需要一個(gè)變量而不是 Api 接收 - 一個(gè) json 對(duì)象。theat 意味著你可以執(zhí)行 metaData.name 并且它會(huì)顯示它當(dāng)您將 stringify 復(fù)制粘貼到 json 文件并給出路徑文件時(shí),它正在工作。當(dāng)您下載 blob 并將其作為路徑 file.json 提供時(shí),它確實(shí)有效 - 我需要從代碼加載它而不下載 blob我的錯(cuò)誤:metaModelSrcFailed to load model metadata for model 'fsfdsfsdfs from  'application/json' - utils.loadJSON(): Failed to parse JSON response - SyntaxError: Unexpected token < in JSON at position 0我嘗試過(guò)字符串化,但沒(méi)有成功;我嘗試將其轉(zhuǎn)換為文件,但沒(méi)有成功。我已經(jīng)從一個(gè) blob 下載了它,并且給了它一個(gè)路徑 metaModelSrc: "..../myfile.json" 并且它確實(shí)有效。但我需要從變量而不是路徑加載它,而且我對(duì)下載 blob 不感興趣,我需要使用從 api 獲取的數(shù)據(jù)。// metaData - json object from apiconst metaDatastringify= JSON.stringify(metaData);var file = new Blob([metaDatastringify], {type: 'application/json'});var file1 = new File([file], "name", {type: 'application/json'});    gltfLoader.load({      id: "fsfdsfsdfs",      metaModelSrc: file1,      edges: true,      performance: true,    });
查看完整描述

2 回答

?
三國(guó)紛爭(zhēng)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

const urlTestJsonModel = URL.createObjectURL(file);

metaModelSrc: urlTestJsonModel 解決了我的問(wèn)題:) 謝謝大家的幫助


查看完整回答
反對(duì) 回復(fù) 2023-06-29
?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

錯(cuò)誤消息“Unexpected token < in JSON atposition 0”始終表示特定類型的錯(cuò)誤

起初我以為是JSON.stringify,但這當(dāng)然是錯(cuò)誤的。我們錯(cuò)誤地將注意力集中在以下幾行上:


const metaDatastringify= JSON.stringify(metaData);

...因此關(guān)于元數(shù)據(jù)的內(nèi)容。


容易出錯(cuò)的并不是字符串化。你可以用 JSON.stringify 幾乎任何舊的廢話。


您的錯(cuò)誤位于 JSON.parse 中

在此期間發(fā)生錯(cuò)誤(但此代碼本身沒(méi)有錯(cuò)誤):


gltfLoader.load({

  id: "fsfdsfsdfs",

  metaModelSrc: file1,

  edges: true,

  performance: true,

});

JSON.parse 始終期望接收一個(gè)字符串,第一個(gè)非空白字符是“{”。


您的 JSON.parse 調(diào)用不在您的代碼中,而是在gltfLoader.load().


使用 JSON.parse 可能會(huì)遇到的麻煩示例:


// Correct call

JSON.parse('{"a":3, "b":"hello"}')

{a: 3, b: "hello"}


// Forget the quotation marks around "a"

JSON.parse(' {a:"<html>skdjfhskdf</html> "}')

Uncaught SyntaxError: Unexpected token a in JSON at position 2


// Use wrong quotation marks (JSON.parse insists on double-quotes for each key. (I have put this error message as two single quotes, to stop stack overflow turning everything that follows into a comment, but it will appear as only one single quote.)

JSON.parse(" {'a':'<html>skdjfhskdf</html> '}")

Uncaught SyntaxError: Unexpected token '' in JSON at position 2


// Empty string input

JSON.parse("")

Uncaught SyntaxError: Unexpected end of JSON input


// Undefined - watch out for this one which is completely baffling the first time it happens! I think it is converting undefined into "undefined" for some reason?

JSON.parse(undefined)

Uncaught SyntaxError: Unexpected token u in JSON at position 0


// Feed in an HTML or XML string, i.e. something starting with an "<"

JSON.parse("<html>Hello</html>")

Uncaught SyntaxError: Unexpected token < in JSON at position 0

診斷步驟

這是您獲得的最后一種類型。因此,在運(yùn)行期間gltfloader.load(),JSON.parse 語(yǔ)句以某種方式接收 XML 或 HTML 格式的數(shù)據(jù)項(xiàng)。


服務(wù)器要么實(shí)際以該格式發(fā)送數(shù)據(jù),要么發(fā)送錯(cuò)誤消息,例如 404 頁(yè)面。


您是否有任何方式通過(guò) javascript 讀取該頁(yè)面,就像 via 之外的任何其他格式一樣gltfloader?


您是否考慮過(guò)像文本文件一樣讀取它(通過(guò) javascript,而不是通過(guò)手動(dòng)路徑并保存),然后看看您會(huì)得到什么?


是預(yù)期的 JSON 字符串,還是其他什么?我敢打賭是后者。


具體來(lái)說(shuō),我們可以看到錯(cuò)誤消息不是來(lái)自Javascript,而是來(lái)自您編寫(xiě)或引入的代碼

無(wú)法從“application/json”加載模型“fsfdsfsdfs”的模型元數(shù)據(jù) - utils.loadJSON():無(wú)法解析 JSON 響應(yīng) - SyntaxError:位置 0 處的 JSON 中出現(xiàn)意外標(biāo)記 <


將其分解如下。


最后一部分是由 Javascript 發(fā)出的:


utils.loadJSON(): Failed to parse JSON response - SyntaxError: Unexpected token < in JSON at position 0

前面的部分是由非Javascript解釋器的代碼故意發(fā)出的。


Failed to load model metadata for model 'fsfdsfsdfs from  'application/json' 

有人編寫(xiě)了“無(wú)法加載模型的模型元數(shù)據(jù)”這句話。這在 Javascript 解釋器中不存在。它是在添加的一些代碼模塊中。有一條錯(cuò)誤消息故意打印出來(lái),然后顯示底層的 Javascript 錯(cuò)誤消息。


問(wèn)題的核心是 JSON.parse(不是JSON.stringify),它對(duì) XML 或 HTML 字符串而不是 JSON 字符串進(jìn)行操作。


您確定 Javascript new File 函數(shù)實(shí)際上正在創(chuàng)建一個(gè)文件并將其保存在您的文件系統(tǒng)上嗎?

您告訴我們,當(dāng)您放入"myfile.json"metaModelSrc 時(shí),代碼就可以工作。這意味著當(dāng)代碼從計(jì)算機(jī)的文件系統(tǒng)讀取文件(即您可以在文件資源管理器或 Finder 或 Nautilus 等中看到的文件)時(shí),代碼可以正常工作。


但是,我認(rèn)為 javascript“新文件”功能實(shí)際上并沒(méi)有將文件保存到計(jì)算機(jī)的硬盤(pán)上,不是嗎?你能看看運(yùn)行時(shí)是否創(chuàng)建了一個(gè)嗎?


查看完整回答
反對(duì) 回復(fù) 2023-06-29
  • 2 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)