Ok, mir zuerst durch einen Blick auf diese URL hören out:Kann nicht bekommen <in JSON-String zu zeigen
http://api.flickr.com/services/feeds/photos_public.gne?format=json
Beachten Sie, wie die Beschreibung string hat es nicht codierte html wie < ,> usw.
hier ist, wie ich meine JSON zurück mit ASP.NET 3.5 und C#:
context.Response.ContentType = "text/plain";
context.Response.Charset = Encoding.UTF8.ToString();
int i = 1;
List<Product> products = GetTestProducts();
List<CrImageList> imageList = new List<CrImageList>();
foreach(Product p in products)
{
string imageTag = HttpUtility.HtmlEncode(string.Format(@"<img src=""{0}"" alt="""">", ImageUrl(p.Image, false)));
imageList.Add(new CrImageList{ImageTag = imageTag});
i++;
}
string jsonString = imageList.ToJSON();
context.Response.Write(jsonString);
und hier ist die JSON durch diesen Code zurückgegeben, die aufgerufen wird, wenn ich hallo t meine .ashx und es nennt diesen Code in der Methode, die es enthält:
[{"ImageTag":"<img src="http://www.ourdomain.com/image/540.jpg" alt="">"},{"ImageTag":"<img src="http://www.ourdomain.com/image/642.jpg" alt="">"}]
Nun, wie kann ich die codierten Zeichen tatsächlich bekommen zu zeigen, wie HTML-Zeichen in der Textzeichenfolge durch meine JSON zurückgegeben?
Ich möchte < zeigen < und so weiter wie Flickr konnte in ihrem JSON tun.
Wenn ich den Htmlencode herausnehmen:
string.Format (@ "", ImageUrl (p.Image, false));
Dann beginne ich die/U00 in meinem String zu erhalten:
[{"ImageTag":"\u003cimg src=\"http://www.example.com/cat_image/540.jpg\" alt=\"\"\u003e"},
...
Warum JSON nicht zurück Flickrs alles andere als sauber html in ihrer Beschreibung?
Sie müssen uns zeigen, was die toJSON Methode macht – Jab