使用.text()来获取JSON数据的格式

时间:2012-09-01 08:50:04

标签: json formatting

我正在使用:

function pipeCallback(obj) {

获取Yahoo管道的内容(使用JSON)。然后我在里面创建一个字符串:

document.write("<div......);
var buildstring = ".......;
document.write(buildstring);
document.write("</div>");

一切正常,但字符串中的一个项目除外:

obj.value.items[x].description.content

包含大量文本,并且会删除其格式。有没有办法定义一个var(使用.text()?)来保持格式,然后在字符串中使用定义的术语 - 例如类似的东西:

var description = (obj.value.items[x].description.content).text()

然后在buildstring中使用术语'description'代替obj.value.items [x] .description.content。

感谢您的任何建议/帮助。

修改

@Barmar谢谢。我试过了(我想......):

var description = function() {return (obj.value.items[x].description.content).text()};

var buildstring = "<table><tr><img src=" + imageurl  + "> <b>" + obj.value.items[x].title + "</b><br /><td>" + description() + "</td></tr></table><br />";

(imageurl是一个单独定义的变量)。我想我一定错过了你的建议(或者一开始没有给出正确的信息)。无论如何..它没有用。

编辑#2

function pipeCallback(obj) {
document.write("<div id=testdiv><b>LATEST NEWS</b><hr>");
var x;
for (x = 0; x < obj.count ; x++)
{

var imageurl = (typeof obj.value.items[x]["media:content"] == 'undefined') ? "http://default.png" : obj.value.items[x]["media:content"].url;

var buildstring = "<table><tr><img src=" + imageurl  + "> <b>" + obj.value.items[x].title + "</b><br /><td>" + obj.value.items[x].description.content + "</td></tr></table><br />";
document.write(buildstring);
buildstring = null;
}
document.write("</div>");

}

1 个答案:

答案 0 :(得分:0)

你可以这样做:

var description = function() {return (obj.value.items[x].description.content).text()};

然后使用description()来获取此内容。