[英]Convert a string (variable ) to object with JSON.parse , error unexpected token
我在將字符串變量解析回對象時遇到問題。我已經查看了有關此主題的所有其他問題,但沒有一個解決我的問題。
if(subMatch.match(/\{.*\}/)){ /// new Object of some sort
var objStr=subMatch.match(/\{.*\}/)[0];
//objStr= JSON.stringify(objStr); // I tried this , no difference
//objStr='"'+objStr+'"'; // Tried this way: unexpected token t
//objStr="'"+objStr+"'"; // Tried this way: unexpected token '
objStr=JSON.parse("'"+objStr+"'"); // puts out unexpected token '
這是我正在嘗試的字符串:
{"type": "lawnmowing","hours": 10,"rate": 10.5,"permanent": false}
根據JSONLint,它是有效的。 加上額外的引號,它看起來像:
'{"type": "lawnmowing","hours": 10,"rate": 10.5,"permanent": false}'
我看着這個問題,
JSON.Parse,'未捕獲的SyntaxError:意外的令牌o
但它們的變量始於一個對象。 我檢查了objStr的字符串類型。 我在objStr周圍添加文字單引號。 因為objStr已經是字符串,所以應該不會有問題吧? 我也完全嘗試了在變量周圍沒有多余的引號
我如何正確JSON.parse一個String變量。 我可以將其與eval一起使用,但是我寧願不使用它,因為它是用戶輸入的對象,必須放入一個對象中。
很抱歉再次困擾您一個有關此主題的問題,但我還沒有找到其他解決方案。
幫助將不勝感激! 謝謝耶尼塔
正如CBroe所說, JSON.parse()
可以很好地解析JSON,而您在此處嘗試執行的任何操作都阻止了它的執行。
不需要您的幫助。 只要讓它完成工作並擺脫所有混亂:
var obj = JSON.parse(objStr);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.