You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AngularJS中将JSON文件转为对象并进行展示?

在AngularJS中加载JSON文件并转换为对象展示

嘿,我来帮你搞定这个问题!先纠正你现有代码里的一个小误区:<p ng-model="array"></p> 里的ng-model不能用在<p>标签上——它是给表单输入元素做双向绑定用的,展示数据得用插值表达式{{}}或者ng-bind。

下面是完整的实现方案,一步步来:

1. 准备你的JSON文件

假设你有个data.json文件,内容示例如下(数组或单个对象都适用):

[
  {
    "name": "张三",
    "age": 28,
    "job": "前端开发"
  },
  {
    "name": "李四",
    "age": 32,
    "job": "后端开发"
  }
]

2. 编写完整的AngularJS代码

核心是用AngularJS的$http服务加载JSON文件,它会自动把JSON字符串转换成JavaScript对象/数组,不用你手动调用JSON.parse()。

完整HTML代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>AngularJS 展示JSON数据</title>
  <link rel="stylesheet" type="text/css" href="css/site.css" />
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
  <script>
    // 定义AngularJS模块
    var myApp = angular.module('myApp', []);
    
    // 定义控制器,注入$http服务
    myApp.controller('myCtrl', function($scope, $http) {
      // 加载JSON文件
      $http.get('data.json')
        .then(function(response) {
          // 把转换好的对象/数组绑定到作用域变量
          $scope.userList = response.data;
          // 如果你的JSON是单个对象,就改成$scope.user = response.data;
        })
        .catch(function(error) {
          // 处理加载失败的情况,比如路径错误
          console.error('JSON加载失败:', error);
        });
    });
  </script>
</head>
<body>
  <div ng-app="myApp" ng-controller="myCtrl">
    <!-- 用ng-repeat遍历数组,展示每一项数据 -->
    <h3>用户信息列表</h3>
    <div ng-repeat="user in userList">
      <p>姓名:{{user.name}}</p>
      <p>年龄:{{user.age}}</p>
      <p>职业:{{user.job}}</p>
      <hr>
    </div>

    <!-- 如果是单个对象,直接展示属性即可 -->
    <!-- <p>姓名:{{user.name}}</p>
    <p>年龄:{{user.age}}</p> -->
  </div>
</body>
</html>

3. 关键注意点

  • $http.get()返回一个Promise,用.then()处理成功回调,response.data就是已经转换好的JS对象/数组。
  • 确保JSON文件的路径正确:如果和HTML文件在同一目录,直接写文件名;如果在子目录,比如json/data.json,要写相对路径。
  • 如果JSON加载失败,打开浏览器控制台(F12)就能看到错误信息,方便排查问题。

内容的提问来源于stack exchange,提问作者Roman Roshchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:03:56