我試圖解析美元JSON.parse錯誤字符串"{$Duration:1200,$Opacity:2}"
到對象在關鍵
var tr = "{$Duration:1200,$Opacity:2}";
JSON.parse(tr);
與例外
Unexpected token $ in JSON at position 1.
,我應該如何處理這種情況的任何指針失敗?
我試圖解析美元JSON.parse錯誤字符串"{$Duration:1200,$Opacity:2}"
到對象在關鍵
var tr = "{$Duration:1200,$Opacity:2}";
JSON.parse(tr);
與例外
Unexpected token $ in JSON at position 1.
,我應該如何處理這種情況的任何指針失敗?
將它們包裝成""
。這是一個JSON syntax
,將每個鍵和值包含在""
中。您可以將數字和布爾值置於""
之間。
var str = JSON.parse('{"$Duration":"1200","$Opacity":"2"}');
console.log(str);
你應該附上鍵/道具與"
。 '
單引號也不起作用。如果你能控制生成字符串。修改如下。如果沒有,你應該考慮使用REGEX。
var a = JSON.parse('{"$Duration":1200,"$Opacity":2}');
console.log(a);
如果鍵名是固定的,你可以簡單地取代它們的字符串中。而且,最終得到一個有效的JSON:
var str = "{$Duration:1200,$Opacity:2}",
validStr = str.replace(/((\$[a-zA-Z0-9]*)(?:\:))/g, '"$2":'),
j = JSON.parse(validStr);
console.log(j);
對象鍵和字符串需要在JSON雙引號內。
試試這個。
JSON.parse('{ "$Duration": 1200, "$Opacity": 2 }');
或者你可以簡單JSON.stringify()
,然後JSON.parse()
無需添加anywhere.Run下面的代碼片段額外的引號。
var app = angular.module('app', []);
app.controller('Ctrl', function($scope) {
var str = JSON.stringify({$Duration:1200,$Opacity:2});
$scope.list = JSON.parse(str);
console.log(JSON.parse(str));
});
<script data-require="[email protected]" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
<div ng-app="app" ng-controller="Ctrl">
{{list}}
<p>{{list.$Duration}} - {{list.$Opacity}}</p>
</div>
行的最後一位沒有給我一個JSON對象 –
我想是這樣的,但不是爲我工作。 – pankajt
他們之間應該'「'的 –
這不是一個有效的JSON – Weedoze
你從哪裏得到這個‘來自哪裏? – Bergi