我有一个JSON文件通过php生成:
$JsonObjItems = json_encode($arrObjItems, JSON_PRETTY_PRINT);
$objFile = new File('test.json', true);
$objFile->write($JsonObjItems);
$objFile->close();
JSON: [
{
"raw": {
"id": "2",
"pid": "0",
"sorting": "0",
"tstamp": "1433706234",
"Alias": "-2",
"Menu1": "Test (A,C,F)nTest1, Gru00fcn",
"Menu2": "Test1",
"From": "1433714400",
"To": "1434060000",
"Published": "1"
},
"text": {
"Alias": "-2",
"Menu1": "Test (A,C,F)nTest1, Gru00fcn",
"Menu2": "Test1",
"From": "08.06.2015",
"To": "12.06.2015",
"Published": "1"
},...
我在angularjs/ionic应用程序中解析它:
.controller('GetJson', function ($scope, $http) {
$http.get("test.json")
.success(function (data) {
$scope.all = data;
$scope.menu1 = data[0].text.Menu1;
});
})
把它放在这里:
<ion-view view-title="test" ng-controller="GetJson">
<ion-content class="padding">
{{menu1}}
</ion-content>
</ion-view>
生成如下输出:
Test (A,C,F)nTest1, Gru00fcn
我要的是:
Test (A,C,F)
Test1,
Grün
我该怎么做呢?在javascript json编码或在php生成json?我在php中尝试了这些东西,但我没有让它工作:
$JsonObjItems = json_encode($arrObjItems, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
编辑:
与"$sce。trustashhtml "过滤它在这里工作:https://jsfiddle.net/uPw2U/163/但不用表达:https://jsfiddle.net/gstcppgt/3/
在这两种情况下,n换行符被忽略,我是否必须以某种方式使用nl2br() ?我在这里试了一下:没有表达式,它可以工作:https://jsfiddle.net/uPw2U/170/
与表达式,它不:https://jsfiddle.net/gstcppgt/11/
{{}}有什么问题吗?
如果变量有html内容,则需要使用$sce。trustAsHTML代替表达式。
对于换行符,可以使用style="white-space: pre;"