字符串与对象的相互转化

时间:2021-11-24 17:50:17

 关于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字符串”))。