[英]How to convert string to json on server side?
我正在發送一個 post 請求,其中包含像這樣的字符串化形式的數據:
slackApi.post(
"/send-message-to-selected",
JSON.stringify({
msg, <--- In string form already
msgLayout,
users,
token,
})
);
作為字符串形式,服務器端的數據以這種形式給我msg
對象:
'{\n' +
'\t\t\t"type": "section",\n' +
'\t\t\t"text": {\n' +
'\t\t\t\t"type": "mrkdwn",\n' +
`\t\t\t\t"text": "Hello, Assistant to the Regional Manager Dwight! *Michael Scott* wants to know where you'd like to take the Paper Company investors to dinner tonight.\\n\\n *Please select a restaurant:*"\n` +
'\t\t\t}\n' +
'\t\t},\n'
如何將其轉換為 JSON Object ?
只需選擇JSON.parse() - 它應該足夠智能以忽略空白字符
編輯:正如 express123 提到的,您必須從字符串中刪除最后 2 個字符:
msg = msg.slice(0, msg.length-2)
如果您使用JSON.parse
解析 JSON,那么它會將字符串化的 JSON 轉換為一個對象:
JSON.parse(msg)
最后一個字符是逗號和換行符,因此對字符串進行切片
msg.slice(0, msg.length-2)
var input = '{\\n' + '\\t\\t\\t"type": "section",\\n' + '\\t\\t\\t"text": {\\n' + '\\t\\t\\t\\t"type": "mrkdwn",\\n' + `\\t\\t\\t\\t"text": "Hello, Assistant to the Regional Manager Dwight! *Michael Scott* wants to know where you'd like to take the Paper Company investors to dinner tonight.\\\\n\\\\n *Please select a restaurant:*"\\n` + '\\t\\t\\t}\\n' + '\\t\\t},\\n' document.getElementById("input").innerHTML = input var output = JSON.parse(input.slice(0, input.length - 2)) document.getElementById("answer").innerHTML = output
<div id="input"></div> </br> </br> <div id="answer"></div>
slice with (len - 2) 刪除換行符和額外的逗號“,/n”
轉換前可以看到字符串,轉換后顯示對象對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.