【问题标题】:How can i use JSON stringify in Angular?如何在 Angular 中使用 JSON 字符串化?
【发布时间】:2017-02-09 23:15:18
【问题描述】:

我是 Angular 的新手。我正在尝试获取这样编写的 Json 数据:

id:1,
name: "Friends",
type: "Group",

现在,我知道我不能使用这种数据,除非我添加双引号 - 就像那样(这是它工作的唯一方式):

"id":1,
"name": "Friends",
"type": "Group",

在 Angular 中解析 JSON 的最佳方法是什么?

我尝试过结合 JS ,但没有成功:

app.controller('contacts', function ($scope,$http,$log) {

    $http.get('http://localhost/Angular-Http-exercise/db.json')
        .then(function(response) {
            $scope.myData = function() {

            return JSON.stringify(response.data)
        };

        $log.info(response.data.name);
    });
});

【问题讨论】:

  • 首先确保源是有效的 json。如果该文件的内容未在 jsonlint.com 上验证...修复它。除此之外,这个问题没有多大意义
  • charlietfl -谢谢
  • AngularJS $http 服务自动解析 JSON 数据。没有必要做任何事情。,

标签: angularjs json


【解决方案1】:

您可以为此目的使用angular.fromJsonangular.toJson

scope.myData = function(){
       return angular.fromJson(response.data);   
}

但是 JSON 是一个全局变量,您应该可以访问它,因为 Angular 使用相同的变量。

https://docs.angularjs.org/api/ng/function/angular.fromJson https://docs.angularjs.org/api/ng/function/angular.toJson

【讨论】:

    【解决方案2】:

    Roy,您的问题是 What is the best way to parse JSON in Angular?JSON 不会因一种框架/语言而异,而且没有最好的 JSON 编写方式。

    如果您想查看您的 JSON 格式是否正确,请查看以下工具:https://jsonformatter.curiousconcept.com/

    【讨论】:

    • Naguib Ihab - 谢谢 - 你所有的 cmets 都让我对 JSON 格式有了更深入的了解。
    • 如果您觉得答案有帮助,请考虑 +1
    • 这实际上是不正确的。使用 angularjs 时,请始终根据接受的答案使用内置方法。这些将自动去除由 angular 注入的任何非 json 字符,例如 $variables 和其他跟踪信息 angular 将放入 json 中,例如,如果您将对象数组绑定到 ng-repeat。如果您只是尝试在控制器中使用 JSON.stringify 然后发送此服务器端,这些工件将保留在 json 中,并可能在与其他应用程序共享 json 或执行 JSON.Deserialize (C#) 时破坏您的应用程序服务器。
    猜你喜欢
    • 2016-03-30
    • 2021-07-28
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2018-05-18
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多