Update2: is it possible to remove html for you? This can be done like this:
angular.module('myApp.filters', []). filter('htmlToPlaintext', function() { return function(text) { return String(text).replace(/<[^>]+>/gm, ''); }; } );
And you html:
<div>{{myText | htmlToPlaintext}}</div>
See more info: angularjs for plain text output instead of html
Update: do you really need html from json? It is better to store your html in views and receive data from your json. Good separation and very easy to use.
It is possible, but not as simple as non-html (great security).
In Angular 1.3, you need the following:
<div ng-bind-html="htmlBind"></div>
In the controller, add the following:
$scope.htmlBind = $sce.trustAsHtml('<span>Hi, I am <em>Joe</em>');
Explanation: you see $ sce:
$ sce is a Strict Contextual Escaping service for AngularJS.
trustAs (type, value)
Delegates to $ sceDelegate.trustAs. Thus, an object that Angular trusts for use in the specified strict contextual escape contexts (such as ng-bind-html, ng-include, any interpolation of src attributes, any interpolation of the dom binding attribute, e.g. for onclick, etc. is returned .) which uses the provided value. See * $ Sce for strict contextual escaping.
More details here: