關於anguale.fromJson(),angualr.toJson()的作用,與JSON.parse(),JSON.stringify()相同
注意:json字符串的格式,如果是普通字符串,可能會報錯!
<!DOCTYPE html>
<html ng-app="App">
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
</head>
<body>
<div ng-controller="parseController">
<button ng-click="parse()">點擊我!</button>
</div>
</body>
</html>
<script type="text/javascript">
angular
.module("App", [])
.controller("parseController", function($scope) {
$scope.parse = function() {
var json = '{"name":"liSi", "password":"321"}';
var jsonArr = '[{"name":"zhangSan", "password":"123"},{"name":"liSi", "password":"321"}]';
// var obj = angular.fromJson(json);
var obj=JSON.parse(json);
console.log(obj.name);
var objArr = angular.fromJson(jsonArr);
console.log(objArr[0].name);
console.log(objArr[1].password);
console.log(JSON.stringify(obj));
console.log(angular.toJson(obj));
}
});
</script>
另外一點補充:
在一個項目中,加入我們使用了h5的新屬性type="date"
<input type="date" ng-model="meeting_time"/>
它會生成一個date類型的對象,當后端要求傳string的形式時候,我們可以將其轉化成一個字符串
方法如下:String($scope.meeting_time);/或者JSON.parse($scope.meeting_time);
一點問題:如果我們還有一個信息修改頁面(當用戶點擊修改,或編輯的時候,會進入此頁面,),這個頁面會綁定一些初始值(來源於數據庫)
此時后端的meeting_time返回的是一個字符串的形式,這是我們的頁面會報錯,因為type="date",要求此輸入款綁定的是一個date對象,
所以我們有必要將其進行處理:
s.meeting_time=new Date(data.meeting_time);
此時有的同學可能會使用JSON.parse(data.meeting_time);結果發現並不好使。(JOSN.stringify(“json字符串”))。