我正在阅读Google电子表格中的JSON,并需要帮助获取entry.content。$ t中的文本。该文本是电子表格中名为“description”的列。电子表格的Feed(已删除)
到目前为止,我的脚本是
function listChapters(root) {
var feed = root.feed;
var entries = feed.entry || [];
var html = ['<ul>'];
for (var i = 0; i < entries.length; ++i) {
var chlist = entries[i];
var title = (chlist.title.type == 'html') ? chlist.title.$t : escape(chlist.title.$t);
var chapters = chlist.content.$t;
html.push('<li>', chapters, '</li>');
}
html.push('</ul>');
document.getElementById("chapterlist").innerHTML = html.join("");
}
问题是 - 我如何阅读$ t中的“描述”并将其放在var章节中?
答案 0 :(得分:1)
chlist.content.$t
中的文本几乎(但不完全)格式正确JSON。由于格式不正确,因此您无法使用JSON.parse()
创建一个对象,然后可以从中获取description
属性。
这是一种蛮力方法,可以提取description
,代替原始html.push('<li>', chapters, '</li>');
:
// Get the text between 'description: ' and 'Chapter website:'
var descStart = chapters.indexOf('description:')+13; //+length of 'description: '
var descEnd = chapters.indexOf('Chapter website:');
var description = chapters.substring(descStart,descEnd);
html.push('<li>', description, '</li>');
使用此方法测试,在调试器中检查结果:
function test() {
var url = '---URL---';
var result = UrlFetchApp.fetch(url);
var text = result.getContentText();
var bodytext = Xml.parse(text,true).html.body.getText();
var root = JSON.parse(bodytext);
listChapters(root);
}