Embedded in this page is the result of a Domino 7.0.2 OutptFormat=JSON URL Command (stripped down to only include 5 documents with 2 columns). Using a basic script I'm seeing how versatile it is.
Let's see if we can recreate a view-like table using this JSON. If you see a table below then it's worked.
Note that column titles and widths are based on the back-end view design as is the alternate row colour.
The table is built using the following code:
var documents = view["data"].viewentry; var columns = view["design"].column; document.write("<p>Showing documents " + documents[0]["@position"]+ " to " + documents[documents.length-1]["@position"] + " of " + view["@toplevelentries"]+"</p>"); document.write("<table border=\"1\" cellspacing=0 padding=4><tr>"); for(var i=0; i<columns.length; i++){ document.write("<th style=\"width:"+(columns[i]["@width"]*10) +"px\">"+columns[i]["@title"]+""); } document.write("</tr>"); for(var i=0; i<documents.length; i++){ document.write( "<tr"+((i%2==1)?" style=\"background-color:" +view["design"]["@altrowcolor"]+"\"":"") +"><td><a href=\"0/"+documents[i]["@unid"]+"?OpenDocument\">" +documents[i].entrydata[1].text[0]+ ""+documents[i].entrydata[0].text[0] +"</td></tr>"); } document.write("</table>"); This code refers to the following JSON-style code, which is in Domino format. Normally this would be retrieved dynamically from the Domino server via an "AJAX" call to a ?ReadViewEntries&OutputFormat=JSON or ?ReadDesign&OutputFormat=JSON URL.
var view = new Array(); view["data"]={ "@toplevelentries": 90212, viewentry: [ { "@position": '1', "@unid": '240E2095BD938FA68525726E002ED6B7', "@noteid": '1334CA', "@siblings": 90212, entrydata: [ //column data { "@columnnumber": 0, "@name": '$129', text: {0: '25.Jan.07'} }, { "@columnnumber": 1, "@name": '$126', text: {0: 'This is a test'} } ] //end column data }, //end entry 1 { "@position": '2', "@unid": '321562FD5499B5D88525726E002EB04A', "@noteid": '1334C2', "@siblings": 90212, entrydata: [ { "@columnnumber": 0, "@name": '$129', text: {0: '25.Jan.07'} }, { "@columnnumber": 1, "@name": '$126', text: {0: 'Me too'} } ] }, //end entry 2 { "@position": '3', "@unid": '3F62EE9FFE4439348525726E002DB3C4', "@noteid": '1334BA', "@siblings": 90212, entrydata: [ { "@columnnumber": 0, "@name": '$129', text: {0: '25.Jan.07'} }, { "@columnnumber": 1, "@name": '$126', text: {0: 'Hey, this works quite well'} } ] } , //end entry 3 { "@position": '4', "@unid": '3F42FE9FFE4439348525726E002DB3D2', "@noteid": '1334BB', "@siblings": 90212, entrydata: [ { "@columnnumber": 0, "@name": '$129', text: {0: '21.Jan.07'} }, { "@columnnumber": 1, "@name": '$126', text: {0: 'This has made my day'} } ] }, //end entry 4 { "@position": '5', "@unid": '2B4EEE9FFE4439348525726E002DB3F1', "@noteid": '1334BA', "@siblings": 90212, entrydata: [ { "@columnnumber": 0, "@name": '$129', text: {0: '21.Jan.07'} }, { "@columnnumber": 1, "@name": '$126', text: {0: 'Whatever next? Men on mars!?'} } ] } //end entry 5 ] //end viewenry(s) } //end JSON view["design"]={ "@rowlines": 9, "@direction": 0, "@spacing": 1, "@columns": 5, "@totalscolor": '#0000ff', "@altrowcolor": '#eee', column: [ { "@columnnumber": 0, "@width": 64, "@name": '$129', "@title": 'Title', "@resize": 'true', "@format": 2, "@listseparator": 'none', cfont: { "@style": 'r', "@size": 7, "@color": '#000000', "@face": 'Helvetica' }, hfont: { "@style": 'b', "@size": 7, "@color": '#000000', "@face": 'Helvetica' }, numberformat: { "@digits": 1, "@format": 'general', "@varying": 'true' }, datetimeformat: { "@show": 'date', "@date": 'yearmonthday', "@time": 'hourminute', "@zone": 'never', "@year4digit": 'true' } }, //end column { "@columnnumber": 1, "@width": 16, "@name": '$126', "@title": 'Date', "@sort": 'true', "@sortdescending": 'true', "@resize": 'true', "@align": 2, "@format": 1, "@listseparator": 'none', cfont: { "@style": 'r', "@size": 7, "@color": '#0000ff', "@face": 'Helvetica' }, hfont: { "@style": 'b', "@size": 7, "@color": '#000000', "@face": 'Helvetica' }, numberformat: { "@digits": 0, "@format": 'general' }, datetimeformat: { "@show": 'datetime', "@date": 'yearmonthday', "@time": 'hourminutesecond', "@zone": 'never' } } ] //end column(s) } //end designFor more information see codestore.net