簡體   English   中英

使用 JSON 解析時保留引號

[英]Keeping quotation marks when using JSON parse

在搜索會產生任何結果時,我一直無法以某種方式表達這個問題,所以如果有明顯的地方被問到,請原諒我。

從字符串轉換時,我希望所有引號都保留在我的 JSON 中。

我的 UI 有一個文本字段(字符串),用戶將輸入一些 JSON,它看起來像這樣:

{ "example": "example" }

我希望所有引號都保留在我的 JSON 對象中。 但是,當我在上面的字符串上運行 JSON.parse() 時,我得到以下信息:

{ example: "example" }

如何防止引用被刪除?

JSON.parse() 返回的 javascript 對象不是 json。 您不需要對象中的引號(除非屬性名稱中有特殊字符)並且可以在代碼中使用或不使用引號訪問該屬性

const myObj = { example: "example" };

以下兩項均有效

console.log(myObject.example)
console.log(myObject["example"])

當您再次使用 JSON.stringify() 時,它將在 json 字符串中包含有效的引號,並且是:

{ "example": "example" }

JSON.parse()返回一個javascript 對象,因此您得到的結果是正確的。

您的后端需要JSON string ,而不是 javascript 對象,因此您需要JSON.stringify()您的 javascript 對象以獲取后端所需的 JSON 字符串。

let userinput = '{ "example": "example" }';
let userobject = JSON.parse(userinput);
let resultjson = JSON.stringify(userobject);

console.log(userinput);
console.log(userobject);
console.log(resultjson);

產生

{“示例”:“示例”}
{ 示例:'示例' }
{“示例”:“示例”}

暫無
暫無

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

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