Javascript 在angularJs中显示数据的有效JSON
我想使用AngularJs在我的站点中显示数据(json)。以下是我所做的:Javascript 在angularJs中显示数据的有效JSON,javascript,php,mysql,json,angularjs,Javascript,Php,Mysql,Json,Angularjs,我想使用AngularJs在我的站点中显示数据(json)。以下是我所做的: 在phpmyAdmin中创建数据库。 创建一个包含两行、主题和正文的表。我应该创建一个id吗? 在使用PHP和angular之后,我得到了如下JSON: [{ "0":"Soheil","subject":"Soheil", "1":"Sadeghbayan","body":"Sadeghbayan"} ,{"0":"","subject":"","1":"","body":""} ,{
在phpmyAdmin中创建数据库。
创建一个包含两行、主题和正文的表。我应该创建一个id吗?
在使用PHP和angular之后,我得到了如下JSON:
[{
"0":"Soheil","subject":"Soheil",
"1":"Sadeghbayan","body":"Sadeghbayan"}
,{"0":"","subject":"","1":"","body":""}
,{"0":"","subject":"","1":"","body":""}
,{"0":"dasdasd","subject":"dasdasd","1":"qe","body":"qe"}
,{"0":"Hello","subject":"Hello","1":"This is chandler !","body":"This is chandler !"}
,{"0":"","subject":"","1":"","body":""},
{"0":"Something new in website","subject":"Something new in website","1":"oh Awsome !","body":"oh Awsome !"
}]
我认为这是无效的JSON,因为当我用自定义JSON替换它时,我编写的JSON工作正常
Json有效
{
"fruits": [
{
"id": "1",
"name": "Apple"
},
{
"id": "2",
"name": "Orange"
}
]
}
AngularJS
var fruitsApp = angular.module('fruitsApp', []);
fruitsApp.factory('fruitsFactory', function($http) {
return {
getFruitsAsync: function(callback) {
$http.get('fruits.json').success(callback);
}
};
});
fruitsApp.controller('fruitsController', function($scope, fruitsFactory) {
fruitsFactory.getFruitsAsync(function(results) {
console.log('fruitsController async returned value');
$scope.fruits = results.fruits;
});
});
Html
<ul>
<li ng-repeat="fruit in fruits">
{{fruit.subject}} is {{fruit.body}}
</li>
</ul>
有什么想法吗?Thx提前您的JSON是有效的。有关JSON和检查/验证JSON对象的信息,请参阅 从$http.get/数据库数据返回的数据没有
fruits
属性,您希望在设置$scope.fruits
时(以下代码片段取自您的代码):
$http.get调用返回的数据的结构与示例数据的格式不同
这是您的$http.get/数据库数据(为了简洁起见,我缩短了它):
以下是您的示例/模拟数据:
{
"fruits": [
{
"id": "1",
"name": "Apple"
},
{
"id": "2",
"name": "Orange"
}
]
}
前者是带有键的对象数组:0
、1
、subject
和body
。
后者是一个带有键的对象:fruits
它们都是具有不同对象结构的有效JSON对象。但是,在没有属性的情况下,您需要一个
水果
属性。此外,您的HTML/UI可能希望数据格式与模拟数据中的格式类似。所以也要检查一下。我使用以下url测试了您的json,它是有效的:正如Puttzy在回答中所说的那样。既然json是有效的,那么您的问题可能就不同了。您希望用这个json做什么?您已经用javascript做了什么?您的json是有效的:。您是否也在使用$resource?因为如果php返回一个数组,那么普通查询需要一个对象。因此,您可以在js中更改'query':{method:'GET',isArray:true},也可以执行退出(json_encode($value,json_FORCE_OBJECT));在phpThx中,我用json validb更新了我的问题,但是你的json是有效的。但是,如果您编写代码来处理第二个,那么您的第一个当然无法正确完成。为什么??也许这是我的错误!!我在我的问题中写了angular代码,我明白你的意思,我更改了$scope.fruits=results.fruits;到$scope.fruits=results,它工作正常,但当我将fruit.json替换为insert.php时,它只是在htmlThat's可能的b/c中显示了li的bullet,您的html逻辑需要“id”和“name”(来自模拟数据的水果数组中的属性)。但是,您的属性是0、1、subject和body。
$scope.fruits = results.fruits;
[
{
"0": "Soheil",
"1": "Sadeghbayan",
"subject": "Soheil",
"body": "Sadeghbayan"
},
{
"0": "Hello",
"1": "This is chandler !",
"subject": "Hello",
"body": "This is chandler !"
},
{
"0": "",
"1": "",
"subject": "",
"body": ""
}
]
{
"fruits": [
{
"id": "1",
"name": "Apple"
},
{
"id": "2",
"name": "Orange"
}
]
}