簡體   English   中英

將 Req.query 字符串格式化為 JavaScript Object

[英]Format a Req.query string to JavaScript Object

我有一個來自 get 請求的 req.query

get <host>/api/tree/path-search?tree="{1:{2:{4:null,5:null},3:null}}"

我如何在 javaScript 中將其轉換為這種形式

const obj = { 1 : { 2 : { 4 : null, 5 : null },3 : null}};

是 const obj 是 JavaScript Object

強烈建議將您放入tree中的內容更改為JSON以便您可以使用內置的 JSON 解析器( JSON.parse )。 URI 可能如下所示:

get <host>/api/tree/path-search?tree=%7B%221%22%3A%7B%222%22%3A%7B%224%22%3Anull%2C%225%22%3Anull%7D%2C%223%22%3Anull%7D%7D

...其中tree的值是 URI 編碼的版本

{"1":{"2":{"4":null,"5":null},"3":null}}

哪個是有效的 JSON 可以解析為您想要的。


您現在擁有的是有效的 JavaScript object 文字,但不是有效的 JSON。 這意味着您可以使用可以評估(執行)JavaScript 代碼(例如evalnew Function )的東西來評估它,但這會執行您不想在服務器上執行的任意代碼

或者,使用 JavaScript 解析器對其進行解析。 有幾個可用於 Node.js 環境。 然后,您將遍歷生成的 AST 樹,構建所描述的 object。 這顯然是一種痛苦,這就是我使用 JSON 的原因。 :-)

暫無
暫無

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

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