(some samples here > http://www.jquery4u.com/json/10-example-json-files/)
> >>> [showif [action]=parse-json]>>[text show=T]theJson=[sample-json][/text]
Hi all,=There has been talk on the list in the past about a JSON parser. =A0I have =knocked together a cheap and nasty parser which tries to assign all of the =key:value pairs to WebDNA variables. =A0 You can try it here:It doesn't properly pa=rse the JSON but it might help someone. =A0 The code is below.- Tom[text]debug=3DF[/text]&=lt;h3>Paste some JSON</h3><p>(some samples here &=lt;a href=3D"http://www.jquery4u.com/json/10-example-json-files=/">http://www.jquery4u.com/json/10-example-json-files/=a></a>)</p><form action=3D"[thisurl]" method=3D"post"><=/div><input type=3D"hidden" name=3D"action" val=ue=3D"parse-json" /><textarea name=3D"sampl=e-json" style=3D"width: 50%; height: 200px;" placeholder=3D&=quot;paste some json"></textarea><br /><button>Parse me</button></form> [showif [action]=3Dparse-json]<h3>Sample JSON</h3><pre>[text sh=ow=3DT]theJson=3D[sample-json][/text]</pre><br /><br />=div>[!]<=div>--------------------------=----------### =A0Co=nversion table to strip non-breaking spaces ###[/!][table name=3DjsonClean&fields=3Dfrom,to]=%C2%A0[/table][!]----=--------------------------------### =A0Conversion table to facilitate spliting into key:value =pairs =A0###[/!][table name=3DjsonSplitConversions&fields=3Dfro=m,to]|~~~~\"^^^^ [/tabl=e][!]=span>------------------------------------### =A0Convert back after spliting into key:value pai=rs =A0###[/!][table name=3DjsonSplitConversionsBack&fields==3Dfrom,to]"=div>~~~~|^^^^<=span style=3D"white-space:pre-wrap">"[/table][!]------------------------------------<=span style=3D"white-space:pre-wrap">### =A0pass one - run the conve=rsions =A0###[/!][text]theJson=3D[convertwords table=3DjsonSplitConv=ersions][convertchars table=3DjsonClean][theJson][/convertchars][/convertwo=rds][/text][!]------------------------------------### =A0pass two - add bar= to just before each key:value pair ###[/!][text]=theJson=3D[grep search=3D("[^"]*"):&replace=3D|\1=3D][th=eJson][/grep][/text][!]=span>------------------------------------### =A0pass three - list out the key:value pairs and =assign them to text variables =A0###[/!][text]count=3D0[/text][listwords words=3D[url][theJ=son][/url]&delimiters=3D|{}][!][/!][text]thisVal=3D[grep search=3D(,$)&=replace=3D][getchars start=3D1&trim=3Dboth][convertwords table=3DjsonSp=litConversionsBack][word][/convertwords][/getchars][/grep][/text][!][/!][showif [debug]=3DT][index]. [url][thisV=al][/url]<br />[/showif][!][/!][hideif [url][thisVal=][/url]=3D][!][/!]=[text]json-[format .2d][text show=3DT]count=3D[math][count]+1[/math][/text]=[/format]-[thisVal][/text][!][/!][/hideif][!] [/!][/listwords][!]----------------------------=-------- ### =A0Let's have a l=ook at the variables =A0###[/!]<h3>JSON Ass=igned to Text Variables</h3>[listvariables name=3Djson-&am=p;exact=3DF][name] =3D [value]<br />[/listvariables][/showif]
Ten Plus One Communic=ations Inc.
http://=www.10plus1.com
416.277.4499
|
(some samples here > http://www.jquery4u.com/json/10-example-json-files/)
> >>> [showif [action]=parse-json]>>[text show=T]theJson=[sample-json][/text]
Hi all,=There has been talk on the list in the past about a JSON parser. =A0I have =knocked together a cheap and nasty parser which tries to assign all of the =key:value pairs to WebDNA variables. =A0 You can try it here:It doesn't properly pa=rse the JSON but it might help someone. =A0 The code is below.- Tom[text]debug=3DF[/text]&=lt;h3>Paste some JSON</h3><p>(some samples here &=lt;a href=3D"http://www.jquery4u.com/json/10-example-json-files=/">http://www.jquery4u.com/json/10-example-json-files/=a></a>)</p><form action=3D"[thisurl]" method=3D"post"><=/div><input type=3D"hidden" name=3D"action" val=ue=3D"parse-json" /><textarea name=3D"sampl=e-json" style=3D"width: 50%; height: 200px;" placeholder=3D&=quot;paste some json"></textarea><br /><button>Parse me</button></form> [showif [action]=3Dparse-json]<h3>Sample JSON</h3><pre>[text sh=ow=3DT]theJson=3D[sample-json][/text]</pre><br /><br />=div><=div>--------------------------=----------### =A0Co=nversion table to strip non-breaking spaces ###[/!][table name=3DjsonClean&fields=3Dfrom,to]=%C2%A0[/table][!]----=--------------------------------### =A0Conversion table to facilitate spliting into key:value =pairs =A0###[/!][table name=3DjsonSplitConversions&fields=3Dfro=m,to]|~~~~\"^^^^ [/tabl=e][!]=span>------------------------------------### =A0Convert back after spliting into key:value pai=rs =A0###[/!][table name=3DjsonSplitConversionsBack&fields==3Dfrom,to]"=div>~~~~|^^^^<=span style=3D"white-space:pre-wrap">"[/table][!]------------------------------------<=span style=3D"white-space:pre-wrap">### =A0pass one - run the conve=rsions =A0###[/!][text]theJson=3D[convertwords table=3DjsonSplitConv=ersions][convertchars table=3DjsonClean][theJson][/convertchars][/convertwo=rds][/text][!]------------------------------------### =A0pass two - add bar= to just before each key:value pair ###=span>------------------------------------### =A0pass three - list out the key:value pairs and =assign them to text variables =A0###[/!][text]thisVal=3D[grep search=3D(,$)&=replace=3D][getchars start=3D1&trim=3Dboth][convertwords table=3DjsonSp=litConversionsBack][word][/convertwords][/getchars][/grep][/text][!][/!]=[text]json-[format .2d][text show=3DT]count=3D[math][count]+1[/math][/text]=[/format]-[thisVal][/text][!][/!][/hideif][!] [/!][/listwords][!]----------------------------=-------- ### =A0Let's have a l=ook at the variables =A0###[/!]<h3>JSON Ass=igned to Text Variables</h3>[listvariables name=3Djson-&am=p;exact=3DF][name] =3D [value]<br />[/listvariables][/showif]
Ten Plus One Communic=ations Inc.
http://=www.10plus1.com
416.277.4499
DOWNLOAD WEBDNA NOW!
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...