首页 > 解决方案 > JSON.parse() 在我需要一个对象时返回一个字符串

问题描述

我正在尝试使用 JSON.parse(scriptResult) 让它变成一个对象。

"scriptResult": "{\"AMD_Main_Toggle\":\"Off\",\"AMD_SilenceTimeout\":\"5000\",\"AMD_SpeechEnd\":\"1200\",\"AMD_SpeechStart\":\"2400\",\"AMD_Timeout\":\"30\",\"DND_EmailList\":\"\",\"DND_EmailToggle\":\"\",\"DND_SMSList\":\"\",\"DND_SMSToggle\":\"\",\"UVM_EmailList\":\"\",\"UVM_EmailToggle\":\"Yes\",\"UVM_SMSList\":\"\",\"UVM_SMSToggle\":\"Yes\",\"email\":\"Yes\",\"record\":\"Yes\",\"recordType\":\"record-from-ringing-dual\",\"recordingStatusCallback\":\"https://rpvrryjkt8.execute-api.us-east-1.amazonaws.com/default/\",\"smsLookup\":\"Yes\",\"smsRecording\":\"\",\"transcribe\":\"\",\"whitepages\":\"Yes\"}"

这是我在控制台中得到的结果。

{
    "AMD_Main_Toggle": "Off",
    "AMD_SilenceTimeout": 5000,
    "AMD_SpeechEnd": 1200,
    "AMD_SpeechStart": 2400,
    "AMD_Timeout": 30,
    "DND_EmailList": "",
    "DND_EmailToggle": "",
    "DND_SMSList": "",
    "DND_SMSToggle": "",
    "UVM_EmailList": "",
    "UVM_EmailToggle": "Yes",
    "UVM_SMSList": "",
    "UVM_SMSToggle": "Yes",
    "email": "Yes",
    "record": "Yes",
    "recordType": "record-from-ringing-dual",
    "recordingStatusCallback": "https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/default/",
    "smsLookup": "Yes",
    "smsRecording": "",
    "transcribe": "",
    "whitepages": "Yes"
}

然后我用

console.log(typeof scriptResult)

控制台返回

string

我需要 scriptResult 成为一个对象。

我错过了什么?

更新-

const scriptResult = "{\"AMD_Main_Toggle\":\"Off\",\"AMD_SilenceTimeout\":\"5000\",\"AMD_SpeechEnd\":\"1200\",\"AMD_SpeechStart\":\"2400\",\"AMD_Timeout\":\"30\",\"DND_EmailList\":\"\",\"DND_EmailToggle\":\"\",\"DND_SMSList\":\"\",\"DND_SMSToggle\":\"\",\"UVM_EmailList\":\"\",\"UVM_EmailToggle\":\"Yes\",\"UVM_SMSList\":\"\",\"UVM_SMSToggle\":\"Yes\",\"email\":\"Yes\",\"record\":\"Yes\",\"recordType\":\"record-from-ringing-dual\",\"recordingStatusCallback\":\"https://rpvrryjkt8.execute-api.us-east-1.amazonaws.com/default/\",\"smsLookup\":\"Yes\",\"smsRecording\":\"\",\"transcribe\":\"\",\"whitepages\":\"Yes\"}";

    json = JSON.parse(scriptResult);
    console.log(typeof json);
    console.log(json);
    console.log(JSON.stringify(json, null, 2));
    console.log(typeof json)

标签: node.jsjson

解决方案


在我看来很好。

const scriptResult =  "{\"AMD_Main_Toggle\":\"Off\",\"AMD_SilenceTimeout\":\"5000\",\"AMD_SpeechEnd\":\"1200\",\"AMD_SpeechStart\":\"2400\",\"AMD_Timeout\":\"30\",\"DND_EmailList\":\"\",\"DND_EmailToggle\":\"\",\"DND_SMSList\":\"\",\"DND_SMSToggle\":\"\",\"UVM_EmailList\":\"\",\"UVM_EmailToggle\":\"Yes\",\"UVM_SMSList\":\"\",\"UVM_SMSToggle\":\"Yes\",\"email\":\"Yes\",\"record\":\"Yes\",\"recordType\":\"record-from-ringing-dual\",\"recordingStatusCallback\":\"https://rpvrryjkt8.execute-api.us-east-1.amazonaws.com/default/\",\"smsLookup\":\"Yes\",\"smsRecording\":\"\",\"transcribe\":\"\",\"whitepages\":\"Yes\"}"; 

const json = JSON.parse(scriptResult); 
console.log(typeof scriptResult); 
console.log(typeof json); 


推荐阅读