字符串与对象的相互转化
关于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字符串”))。