Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换json&;amp;至&;在AngularJS_Javascript_Json_Angularjs - Fatal编程技术网

Javascript 转换json&;amp;至&;在AngularJS

Javascript 转换json&;amp;至&;在AngularJS,javascript,json,angularjs,Javascript,Json,Angularjs,我有一个具有value属性的HTML元素。值应该是Comfort&Protection,但是来自JSON get结果的名称是Comfort&保护,AngularJS正在我的视图中这样打印它 我尝试将此名称放入html元素值属性中 <div ng-app="app"> <div ng-controller="ExampleCtrl"> <input type="text" ng-repeat="type in types" value="

我有一个具有value属性的HTML元素。值应该是Comfort&Protection,但是来自JSON get结果的名称是Comfort
&保护,AngularJS正在我的视图中这样打印它

我尝试将此名称放入html元素值属性中

<div ng-app="app">
    <div ng-controller="ExampleCtrl">
        <input type="text" ng-repeat="type in types" value="{{type.name}}" />
    </div>
</div>

一种选择是替换
&带有
的字符串,如下所示:

var text = name.replace(/&amp;/g, '&')

根据Max Zoom答案解决了问题

我创建了一个过滤器来过滤符号,就像这样

app.filter('ampersand', function(){
    return function(input){
        return input ? input.replace(/&amp;/, '&') : '';
    }
});

在我看来,我从
{{term.name}
改为
{{term.name | ampersand}

根据经验,您通常应该尝试让JSON返回速率数据,而不是HTML格式的数据。当你需要HTML时,转换成HTML就不那么麻烦了。我无法控制api返回的内容。我从wp apiCode获取的示例不起作用,您能检查一下吗?您的意思是什么?无法使用&;查看输入名称;在这个例子中?这个链接对我来说很好。我很感激,我根据你的回答解决了这个问题。您的答案是正确的,但它只是javascript。我必须把它应用到有棱角的物体上。这就是为什么我创建了一个过滤器。在我的例子中,使用了
name.replace(“\u0026amp;”,“&”)
app.filter('ampersand', function(){
    return function(input){
        return input ? input.replace(/&amp;/, '&') : '';
    }
});