2013-09-04 2 views
1

Google 스프레드 시트에서 JSON을 읽으며 entry.content. $ t 내의 텍스트를 가져 오는 데 도움이 필요합니다. 텍스트는 스프레드 시트의 "설명"이라는 열입니다. 어떻게 VAR 장에 배치하는 나는 $의 t에서 "설명"을 읽습니까 - 스프레드 시트에 대한 피드는Google 스프레드 시트에서 특정 속성을 얻는 방법 JSON 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(""); 
} 

되는 질문이다 (제거)입니까?

답변

1

chlist.content.$t 내의 텍스트는 JSON이라는 형식이지만 거의 형식이 올바르지 않습니다. 형식이 올바르지 않으므로 JSON.parse()을 사용하여 description 속성을 가져올 수있는 개체를 만들 수 없습니다. 저를 매우 얻을 수

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); 
} 
+0

: 디버거에서 결과를 확인이 함께 테스트

// 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>'); 

: 여기

는 무차별 원래 html.push('<li>', chapters, '</li>');의 장소에서 사용되는 description을 추출합니다 접근 방식이다 , 아주 근접한. 단어 설명 뒤에 모든 텍스트가 필요합니다. 스프레드 시트의이 필드는 행의 다른 모든 필드를 결합하여 형식을 지정하고 해당 열에 항목이없는 레코드의 열을 제외시키는 스크립트의 결과입니다. 'code'var description = chapters.substring (descStart);'code '를 사용하여 필요한 것을 얻을 수있었습니다. 정말 감사드립니다! –

+0

도와 드리겠습니다! 해당 시트의 게시를 취소하거나 연락처 정보를 난독화할 수 있습니다. – Mogsdad

+0

팁 주셔서 감사. 원래 게시에서 링크를 삭제했습니다. –

관련 문제