色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

creator微信json合并出問題

錢淋西2年前9瀏覽0評論

最近在使用creator開發微信小游戲時,遇到了一個問題,就是合并json文件時出現了問題。具體情況是,在開發過程中需要使用多個json文件,但是微信小游戲規定只能使用一個json文件,因此需要將多個文件合并成一個。

我采用的方式是在代碼中使用js的方法讀取文件內容,然后將內容合并成一個json對象,最后將這個對象轉化成字符串保存到一個新的文件中。但是合并后的json文件無法被微信小游戲識別,經過排查,發現問題出現在json文件格式的轉化上。

let jsonList = [
{ "name": "小明", "age": "18" },
{ "name": "小紅", "age": "20" }
];
let jsonData = {};
for (let i = 0; i< jsonList.length; i++) {
let data = jsonList[i];
for (let key in data) {
if (!jsonData[key]) {
jsonData[key] = [];
}
jsonData[key].push(data[key]);
}
}
let result = JSON.stringify(jsonData);
console.log(result); // {"name":["小明","小紅"],"age":["18","20"]}

在上面的例子中,我創建了一個包含兩個json對象的數組,然后將這兩個對象的鍵值對分別存入一個新的json對象中,最后將這個對象轉化為json字符串輸出。但是,微信小程序對json文件有一個要求,那就是json文件必須以{"":""}的格式作為文件開頭和結尾,而上述代碼輸出的字符串卻是{"name":["小明","小紅"],"age":["18","20"]},并沒有符合要求的格式。

為了解決這個問題,我們需要補全json文件的格式。可以在代碼中加入以下字符串拼接操作:

let jsonStr = JSON.stringify(jsonData);
jsonStr = "{" + '"' + "" + '"' + ":" + '"' + "" + '"' + ',' + jsonStr.substr(1, jsonStr.length - 2) + "}";
console.log(jsonStr); // {"":{"name":["小明","小紅"],"age":["18","20"]}}

我們添加了一些字符串拼接操作,將json字符串的第一個花括號替換為{"":""}格式,這樣就將文件格式變為了符合微信小游戲要求的格式。通過這樣的操作,我們的json文件就可以被正常識別了。