Javascript 如何在angularjs应用程序中解析Drupal JSON数据
我从DrupalRESTAPI获得了以下JSON响应。如何在我的移动应用程序AngularJs http服务中解析它Javascript 如何在angularjs应用程序中解析Drupal JSON数据,javascript,angularjs,json,drupal,drupal-7,Javascript,Angularjs,Json,Drupal,Drupal 7,我从DrupalRESTAPI获得了以下JSON响应。如何在我的移动应用程序AngularJs http服务中解析它 [ { “nid”:“2”, “名称”:“名称”, “现场事件列表”:“测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件摘要1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.”, “活动日期”:“2016年5月20日星期五至2016年5月31日星期二”
[
{
“nid”:“2”,
“名称”:“名称”,
“现场事件列表”:“测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件摘要1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.”,
“活动日期”:“2016年5月20日星期五至2016年5月31日星期二”
}
]例如
控制器
app.controller('MyCtrlr', function ($scope, $http) {
$http.get("YOUR_DRUPAL_API").success(function(response){
//Store your JSON Response
$scope.jsonResp = [
{
"nid":"2",
"title":"<a href=\"/sell/test-event-1\">Test Event 1</a>",
"field_event_list":"List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . Summery of Test Event 1 . List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . List of Test Event 1 . ",
"event_date":"<div class=\"date-display-range\"><span class=\"date-display-start\" property=\"dc:date\" datatype=\"xsd:dateTime\" content=\"2016-05-20T00:00:00+05:30\">Friday, May 20, 2016</span> to <span class=\"date-display-end\" property=\"dc:date\" datatype=\"xsd:dateTime\" content=\"2016-05-31T00:00:00+05:30\">Tuesday, May 31, 2016</span></div>"
}
];
});
});
//AngularJS filter to strip HTML tags from your JSON properties
app.filter('getPlaintext', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
}
});
app.controller('MyCtrlr',函数($scope,$http){
$http.get(“您的DRUPAL\uAPI”).success(函数(响应){
//存储JSON响应
$scope.jsonResp=[
{
“nid”:“2”,
“名称”:“名称”,
“现场事件列表”:“测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件摘要1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.测试事件列表1.”,
“活动日期”:“2016年5月20日星期五至2016年5月31日星期二”
}
];
});
});
//AngularJS过滤器从JSON属性中去除HTML标记
app.filter('getPlaintext',函数(){
返回函数(文本){
返回文本?字符串(文本)。替换(/]+>/gm',):'';
}
});
查看
<table ng-controller="MyCtrlr">
<tr>
<td>nid</td>
<td>title</td>
<td>field_event_list</td>
<td>event_date</td>
</tr>
<tr ng-repeat="data in jsonResp">
<td>{{data.nid}}
</td>
<td>{{data.title | getPlaintext}}</td>
<td>{{data.field_event_list | getPlaintext}}
</td>
<td>{{data.event_date | getPlaintext}}
</td>
</tr>
</table>
奈德
标题
字段\事件\列表
活动日期
{{data.nid}
{{data.title}getPlaintext}
{{data.field_event_list|getPlaintext}
{{data.event_date|getPlaintext}
请参见,但我关心的是,它包括0、p标签等,我的移动应用程序中已经有了这些标签。我只需要显示数据。这是正确的方法吗?使用原生的JSON。解析并没有让你明白!你能举几个例子吗?对不起,我是个新手@史密萨:您希望以2016年5月31日(星期二)的形式获取事件日期
,或者使用HTML
?无HTML。我不需要HTML!所以我问Drupal的响应是否不正确?我应该请Drupal dev为我提供正确的JSON?谢谢!如何使用简单的json或文本文件在本地(我有nodejs服务器)测试相同的内容?@Smitha没有使用node.js
。需要检查是的。比如说,我想测试$http请求响应和应用程序逻辑。。但对于这一点,我的服务器还没有准备好RESTAPI。但我有本地JSON数据。检验it@Smitha请看这里的小提琴进行测试,我刚刚将您的JSON
分配给了一个变量。您可以看到,$http
AJAX调用已被注释。类似的方法将整个JSON
分配给一个变量并进行相应的解析。谢谢!那有帮助!