簡體   English   中英

預期的屬性名稱或 '}' 使用 Json Parse 解析字符串

[英]Expected property name or '}' parsing a string with Json Parse

我嘗試將字符串解析為 Json 時遇到一個奇怪的問題。在數據庫中,json 以下列方式保存

 {'Sales Package': '1 Ring, 1 Ring Gift Box, Ring Certificate'}
 typeof = string

當我嘗試使用 Object.keys 時,它不起作用,因為它被視為一個字符串。 如果我嘗試解析它,我會收到以下錯誤

 {'Sales Package': '1 Ring, 1 Ring Gift Box, Ring Certificate'}
[1]  ^
[1] 
[1] SyntaxError: Expected property name or '}' in JSON at position 1

我的代碼

 metaData.meta_data.attributes.forEach((attribute: string) => {
               console.log(JSON.parse(attribute));
               console.log(attribute);
               //console.log(Object.keys(attribute));
           });

解決方案的想法? 我已經搜索過類似的問題,但它們對我沒有用

如果必須存儲單引號,請在解析前將其替換為雙引號。

第一個 replaceALL 只是將任何雙引號替換為" 對於像英寸等使用雙引號的情況。

第二個然后用雙引號替換單引號。

 let str = "{'Sales Package': '1 Ring, 1 Ring Gift Box, Ring Certificate'}"; str = str.replaceAll("\"", """) str = str.replaceAll("'","\""); console.log(JSON.parse(str));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM