Re: [WebDNA] JSON Parser

This WebDNA talk-list message is from

2014


It keeps the original formatting.
numero = 111237
interpreted = N
texte = --047d7bd6b82865c14404f4f0611a Content-Type: text/plain; charset=ISO-8859-1 Yes. It's coming from the conversion somehow. I still can't quite figure it out. On Sat, Mar 15, 2014 at 5:10 AM, Tom Duke wrote: > David, > > Hi - have you tried the listwords without the convertchars ? > > Just to see where the issue is coming from. > > - Tom > > > > > Sent from my iPhone > > On 14 Mar 2014, at 15:42, David Bastedo wrote: > > HI all, not sure if I am experiencing a bug, or not. > > I am parsing a json output. that should be pretty simple. > > Sample output to parse (instagram): > > {"provider_url":"http:\/\/instagram.com\/","media_id":"661162059018947119_192009753","title":"Drink > a little drink, smoke a little smoke #jack #coke #church #whiskeyinthejaro > #whiskey #countrymusic #outlaw","url":"http:\/\/ > distilleryimage1.ak.instagram.com > \/3e92a5949b6a11e39c1412d6a650978d_8.jpg","author_name":"mitchzorn","height":640,"width":640,"version":"1.0","author_url":"http:\/\/ > instagram.com > \/mitchzorn","author_id":192009753,"type":"photo","provider_name":"Instagram"} > > steps: > > 1. conversion table > > [table name=cleanMeJSON&fields=from,to] > { > } > " > [/table] > > 2. [listwords words=[convertchars > table=cleanMeJSON][theOutPut][/convertchars]&Delimiters=,] > [index] [word]
> [/listwords] > > 3. result > 1 provider_url:http::///instagram.comm/ > 2 media_id:661162059018947119_192009753 > 3 title:Drink a little drink > 4 smoke a little smoke #jack #coke #church #whiskeyinthejaro #whiskey > #countrymusic #outlaw > 5 > url:http::///distilleryimage1.ak.instagram.comm/3e92a5949b6a11e39c1412d6a650978d_8.jpg > 6 author_name:mitchzorn > 7 height:640 > 8 width:640 > 9 version:1.0 > 10 author_url:http::///instagram.comm/mitchzorn > 11 author_id:192009753 > 12 type:photo > 13 provider_name:Instagram > > > > in particular, I have no idea how extra letters are getting into the > results. > Note the author link: http::///instagram.comm/mitchzorn > there is an extra "m" in "comm" > and an extra ":" and an extra "/" > > i noticed this before on something but thought it was the input - now I > see it is not. > > Is there anything that I have done, that should not work? > > I just compared my output to Tom's Json Parser script: > > json-12-provider_name = Instagram > json-11-type = photo > json-10-author_id = 192009753 > json-09-author_url = http:\/\/instagram.com\/mitchzorn > json-08-version = 1.0 > json-07-width = 640 > json-06-height = 640 > json-05-author_name = mitchzorn > json-04-url = http:\/\/distilleryimage1.ak.instagram.com > \/3e92a5949b6a11e39c1412d6a650978d_8.jpg > json-03-title = Drink a little drink, smoke a little smoke #jack #coke > #church #whiskeyinthejaro #whiskey #countrymusic #outlaw > json-02-media_id = 661162059018947119_192009753 > json-01-provider_url = http:\/\/instagram.com\/ > > > it's driving me a little nuts and only just realised that webcat was > responsible. Is this a BUG or operator error? > > thanks. > > d. > > > > On Thu, Feb 20, 2014 at 5:49 PM, Tom Duke wrote: > >> Hi all, >> >> There has been talk on the list in the past about a JSON parser. I have >> knocked together a cheap and nasty parser which tries to assign all of the >> key:value pairs to WebDNA variables. You can try it here: >> >> https://www.revolutionaries.ie/admin/test-json.tmpl >> >> It doesn't properly parse the JSON but it might help someone. The code >> is below. >> >> - Tom >> >> >> >> >> [text]debug=F[/text] >> >>

Paste some JSON

>>

(some samples here >> http://www.jquery4u.com/json/10-example-json-files/)

>>
>> >>
>> >>
>> >> >> [showif [action]=parse-json] >> >>

Sample JSON

>>
[text show=T]theJson=[sample-json][/text]


>> >> >> [!] >> >> >> ------------------------------------ >> ### Conversion table to strip non-breaking spaces ### >> >> [/!][table name=jsonClean&fields=from,to] >> %C2 >> %A0 >> [/table][!] >> >> >> ------------------------------------ >> ### Conversion table to facilitate spliting into key:value pairs ### >> >> [/!][table name=jsonSplitConversions&fields=from,to] >> | ~~~~ >> \" ^^^^ >> [/table][!] >> >> >> ------------------------------------ >> ### Convert back after spliting into key:value pairs ### >> >> [/!][table name=jsonSplitConversionsBack&fields=from,to] >> " >> ~~~~ | >> ^^^^ " >> [/table][!] >> >> >> ------------------------------------ >> ### pass one - run the conversions ### >> >> [/!][text]theJson=[convertwords table=jsonSplitConversions][convertchars >> table=jsonClean][theJson][/convertchars][/convertwords][/text][!] >> >> >> ------------------------------------ >> ### pass two - add bar to just before each key:value pair ### >> >> [/!][text]theJson=[grep >> search=("[^"]*"):&replace=|\1=][theJson][/grep][/text][!] >> >> >> ------------------------------------ >> ### pass three - list out the key:value pairs and assign them to text >> variables ### >> >> [/!][text]count=0[/text][listwords >> words=[url][theJson][/url]&delimiters=|{}][!] >> >> [/!][text]thisVal=[grep search=(,$)&replace=][getchars >> start=1&trim=both][convertwords >> table=jsonSplitConversionsBack][word][/convertwords][/getchars][/grep][/text][!] >> [/!][showif [debug]=T][index]. [url][thisVal][/url]
[/showif][!] >> [/!][hideif [url][thisVal][/url]=][!] >> [/!][text]json-[format .2d][text >> show=T]count=[math][count]+1[/math][/text][/format]-[thisVal][/text][!] >> [/!][/hideif][!] >> >> [/!][/listwords][!] >> >> >> ------------------------------------ >> ### Let's have a look at the variables ### >> >> [/!]

JSON Assigned to Text Variables

>> [listvariables name=json-&exact=F][name] = [value]
>> [/listvariables] >> >> [/showif] >> --------------------------------------------------------- This message is >> sent to you because you are subscribed to the mailing list . To >> unsubscribe, E-mail to: archives: >> http://mail.webdna.us/list/talk@webdna.us Bug Reporting: >> support@webdna.us > > > > > -- > David Bastedo > > Ten Plus One Communications Inc. > http://www.10plus1.com > 416.277.4499 > --------------------------------------------------------- This message > is sent to you because you are subscribed to the mailing list . To > unsubscribe, E-mail to: archives: > http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us > > --------------------------------------------------------- This message is > sent to you because you are subscribed to the mailing list . To > unsubscribe, E-mail to: archives: > http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us > -- David Bastedo Ten Plus One Communications Inc. http://www.10plus1.com 416.277.4499 --047d7bd6b82865c14404f4f0611a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

Yes. It's coming from the conversion so= mehow. I still can't quite figure it out.


On Sat, Mar 15, 2014 at 5:10 AM, = Tom Duke <tom@revolutionaries.ie> wrote:
David,

=
Hi - have you tried the listwords without the convertchars ?

Just to see where the issue is coming from.
<= br>
- Tom




Sent fr= om my iPhone

On 14 Mar 2014, at 15:42,= David Bastedo <d= avid@10plus1.com> wrote:

HI all, not sure if I am experiencing a bug, or not.

I= am parsing a json output. that should be pretty simple.

Sampl= e output to parse (instagram):

{"provider_url":"http:\/\/instagram.com\/","media_id":"66116= 2059018947119_192009753","title":"Drink a little drink, smoke a little smoke #jack #coke #church=20 #whiskeyinthejaro #whiskey #countrymusic=20 #outlaw","url":"http:\/\/distilleryimage1.ak.instagram.com<= /a>\/3e92a5949b6a11e39c1412d6a650978d_8.jpg","author_name":&= quot;mitchzorn","height":640,"width":640,"ver= sion":"1.0","author_url":"http:\/\/instagram.com\/mitchzorn"= ,"author_id":192009753,"type":"photo","p= rovider_name":"Instagram"}

steps:

1. conversion table

[table name=3Dclea= nMeJSON&fields=3Dfrom,to]
{=A0=A0=A0
}=A0=A0=A0
"
[/= table]

2. [listwords words=3D[convertchars table=3DcleanMeJSON][theO= utPut][/convertchars]&Delimiters=3D,]
[index] [word]<br />
=A0[/listwords]

3. result
1 p= rovider_url:http::///instagram.comm/
=20 2 media_id:661162059018947119_192009753
=20 3 title:Drink a little drink
=20 4 smoke a little smoke #jack #coke #church #whiskeyinthejaro #whiskey #cou= ntrymusic #outlaw
=20 5 url:http::///distilleryimage1.ak.instagram.comm/3e92a5949b6a11e39c1412d6a= 650978d_8.jpg
=20 6 author_name:mitchzorn
=20 7 height:640
=20 8 width:640
=20 9 version:1.0
=20 10 author_url:http::///instagram.comm/mitchzorn
=20 11 author_id:192009753
=20 12 type:photo
=20 13 provider_name:Instagram



in part= icular, I have no idea how extra letters are getting into the results.
<= /div>
Note the author link: http::///instagram.comm/mitchzorn
there is an extra "m" in "comm"
and an extra &q= uot;:" and an extra "/"

i noticed this bef= ore on something but thought it was the input - now I see it is not.

Is there anything that I have done, that should not work?

=
I just compared my output to Tom's Json Parser script:

json= -12-provider_name =3D Instagram
json-11-type =3D photo
json-10-author_id =3D 192009753
json-09-author_url =3D http:\/\/instagram.com\/mitchzorn
json-08-version =3D 1.0
json-07-width =3D 640
json-06-height =3D 640
json-05-author_name =3D mitchzorn
json-04-url =3D http:\/\/distilleryimage1.ak.instagram.com\/3e92a5949b6a11e= 39c1412d6a650978d_8.jpg
json-03-title =3D Drink a little drink, smoke a little smoke #jack #coke #c= hurch #whiskeyinthejaro #whiskey #countrymusic #outlaw
json-02-media_id =3D 661162059018947119_192009753
json-01-provider_url =3D http:\/\/instagram.com\/


it's d= riving me a little nuts and only just realised that webcat was responsible.= Is this a BUG or operator error?

thanks.

d.



On Thu, Feb 20, 2014 at= 5:49 PM, Tom Duke <tom@revolutionaries.ie> wrote:
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>
<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>--------------------------= ----------
### =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]
|~~~~
\"^^^^


------------------------------------
### =A0Convert back after spliting into key:value pai= rs =A0###

[/!][table name=3DjsonSplitConversionsBack&fields= =3Dfrom,to]
"
~~~~|
^^^^<= 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][!]


------------------------------------
### =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]
--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us



--
David B= astedo

Ten Plus One Communic= ations Inc.
http://= www.10plus1.com
416.277.4499

--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us
--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us



--=
David Bastedo

Ten Plus One Communic= ations Inc.
http://= www.10plus1.com
416.277.4499

--047d7bd6b82865c14404f4f0611a-- Associated Messages, from the most recent to the oldest:

    
  1. Re: [WebDNA] JSON Parser (David Bastedo 2014)
  2. Re: [WebDNA] JSON Parser (Tom Duke 2014)
  3. Re: [WebDNA] JSON Parser (David Bastedo 2014)
  4. Re: [WebDNA] JSON Parser (Stuart Tremain 2014)
  5. Re: [WebDNA] JSON Parser (Donovan Brooke 2014)
  6. [WebDNA] JSON Parser (Tom Duke 2014)
--047d7bd6b82865c14404f4f0611a Content-Type: text/plain; charset=ISO-8859-1 Yes. It's coming from the conversion somehow. I still can't quite figure it out. On Sat, Mar 15, 2014 at 5:10 AM, Tom Duke wrote: > David, > > Hi - have you tried the listwords without the convertchars ? > > Just to see where the issue is coming from. > > - Tom > > > > > Sent from my iPhone > > On 14 Mar 2014, at 15:42, David Bastedo wrote: > > HI all, not sure if I am experiencing a bug, or not. > > I am parsing a json output. that should be pretty simple. > > Sample output to parse (instagram): > > {"provider_url":"http:\/\/instagram.com\/","media_id":"661162059018947119_192009753","title":"Drink > a little drink, smoke a little smoke #jack #coke #church #whiskeyinthejaro > #whiskey #countrymusic #outlaw","url":"http:\/\/ > distilleryimage1.ak.instagram.com > \/3e92a5949b6a11e39c1412d6a650978d_8.jpg","author_name":"mitchzorn","height":640,"width":640,"version":"1.0","author_url":"http:\/\/ > instagram.com > \/mitchzorn","author_id":192009753,"type":"photo","provider_name":"Instagram"} > > steps: > > 1. conversion table > > [table name=cleanMeJSON&fields=from,to] > { > } > " > [/table] > > 2. [listwords words=[convertchars > table=cleanMeJSON][theOutPut][/convertchars]&Delimiters=,] > [index] [word]
> [/listwords] > > 3. result > 1 provider_url:http::///instagram.comm/ > 2 media_id:661162059018947119_192009753 > 3 title:Drink a little drink > 4 smoke a little smoke #jack #coke #church #whiskeyinthejaro #whiskey > #countrymusic #outlaw > 5 > url:http::///distilleryimage1.ak.instagram.comm/3e92a5949b6a11e39c1412d6a650978d_8.jpg > 6 author_name:mitchzorn > 7 height:640 > 8 width:640 > 9 version:1.0 > 10 author_url:http::///instagram.comm/mitchzorn > 11 author_id:192009753 > 12 type:photo > 13 provider_name:Instagram > > > > in particular, I have no idea how extra letters are getting into the > results. > Note the author link: http::///instagram.comm/mitchzorn > there is an extra "m" in "comm" > and an extra ":" and an extra "/" > > i noticed this before on something but thought it was the input - now I > see it is not. > > Is there anything that I have done, that should not work? > > I just compared my output to Tom's Json Parser script: > > json-12-provider_name = Instagram > json-11-type = photo > json-10-author_id = 192009753 > json-09-author_url = http:\/\/instagram.com\/mitchzorn > json-08-version = 1.0 > json-07-width = 640 > json-06-height = 640 > json-05-author_name = mitchzorn > json-04-url = http:\/\/distilleryimage1.ak.instagram.com > \/3e92a5949b6a11e39c1412d6a650978d_8.jpg > json-03-title = Drink a little drink, smoke a little smoke #jack #coke > #church #whiskeyinthejaro #whiskey #countrymusic #outlaw > json-02-media_id = 661162059018947119_192009753 > json-01-provider_url = http:\/\/instagram.com\/ > > > it's driving me a little nuts and only just realised that webcat was > responsible. Is this a BUG or operator error? > > thanks. > > d. > > > > On Thu, Feb 20, 2014 at 5:49 PM, Tom Duke wrote: > >> Hi all, >> >> There has been talk on the list in the past about a JSON parser. I have >> knocked together a cheap and nasty parser which tries to assign all of the >> key:value pairs to WebDNA variables. You can try it here: >> >> https://www.revolutionaries.ie/admin/test-json.tmpl >> >> It doesn't properly parse the JSON but it might help someone. The code >> is below. >> >> - Tom >> >> >> >> >> [text]debug=F[/text] >> >>

Paste some JSON

>>

(some samples here >> http://www.jquery4u.com/json/10-example-json-files/)

>>
[thisurl]" method="post"> >> >>
>> >>
>> >> >> [showif [action]=parse-json] >> >>

Sample JSON

>>
[text show=T]theJson=[sample-json][/text]


>> >> >> [!] >> >> >> ------------------------------------ >> ### Conversion table to strip non-breaking spaces ### >> >> [/!][table name=jsonClean&fields=from,to] >> %C2 >> %A0 >> [/table][!] >> >> >> ------------------------------------ >> ### Conversion table to facilitate spliting into key:value pairs ### >> >> [/!][table name=jsonSplitConversions&fields=from,to] >> | ~~~~ >> \" ^^^^ >> [/table][!] >> >> >> ------------------------------------ >> ### Convert back after spliting into key:value pairs ### >> >> [/!][table name=jsonSplitConversionsBack&fields=from,to] >> " >> ~~~~ | >> ^^^^ " >> [/table][!] >> >> >> ------------------------------------ >> ### pass one - run the conversions ### >> >> [/!][text]theJson=[convertwords table=jsonSplitConversions][convertchars >> table=jsonClean][theJson][/convertchars][/convertwords][/text][!] >> >> >> ------------------------------------ >> ### pass two - add bar to just before each key:value pair ### >> >> [/!][text]theJson=[grep >> search=("[^"]*"):&replace=|\1=][theJson][/grep][/text][!] >> >> >> ------------------------------------ >> ### pass three - list out the key:value pairs and assign them to text >> variables ### >> >> [/!][text]count=0[/text][listwords >> words=[url][theJson][/url]&delimiters=|{}][!] >> >> [/!][text]thisVal=[grep search=(,$)&replace=][getchars >> start=1&trim=both][convertwords >> table=jsonSplitConversionsBack][word][/convertwords][/getchars][/grep][/text][!] >> [/!][showif [debug]=T][index]. [url][thisVal][/url]
[/showif][!] >> [/!][hideif [url][thisVal][/url]=][!] >> [/!][text]json-[format .2d][text >> show=T]count=[math][count]+1[/math][/text][/format]-[thisVal][/text][!] >> [/!][/hideif][!] >> >> [/!][/listwords][!] >> >> >> ------------------------------------ >> ### Let's have a look at the variables ### >> >> [/!]

JSON Assigned to Text Variables

>> [listvariables name=json-&exact=F][name] = [value]
>> [/listvariables] >> >> [/showif] >> --------------------------------------------------------- This message is >> sent to you because you are subscribed to the mailing list . To >> unsubscribe, E-mail to: archives: >> http://mail.webdna.us/list/talk@webdna.us Bug Reporting: >> support@webdna.us > > > > > -- > David Bastedo > > Ten Plus One Communications Inc. > http://www.10plus1.com > 416.277.4499 > --------------------------------------------------------- This message > is sent to you because you are subscribed to the mailing list . To > unsubscribe, E-mail to: archives: > http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us > > --------------------------------------------------------- This message is > sent to you because you are subscribed to the mailing list . To > unsubscribe, E-mail to: archives: > http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us > -- David Bastedo Ten Plus One Communications Inc. http://www.10plus1.com 416.277.4499 --047d7bd6b82865c14404f4f0611a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

Yes. It's coming from the conversion so= mehow. I still can't quite figure it out.


On Sat, Mar 15, 2014 at 5:10 AM, = Tom Duke <tom@revolutionaries.ie> wrote:
David,

=
Hi - have you tried the listwords without the convertchars ?

Just to see where the issue is coming from.
<= br>
- Tom




Sent fr= om my iPhone

On 14 Mar 2014, at 15:42,= David Bastedo <d= avid@10plus1.com> wrote:

HI all, not sure if I am experiencing a bug, or not.

I= am parsing a json output. that should be pretty simple.

Sampl= e output to parse (instagram):

{"provider_url":"http:\/\/instagram.com\/","media_id":"66116= 2059018947119_192009753","title":"Drink a little drink, smoke a little smoke #jack #coke #church=20 #whiskeyinthejaro #whiskey #countrymusic=20 #outlaw","url":"http:\/\/distilleryimage1.ak.instagram.com<= /a>\/3e92a5949b6a11e39c1412d6a650978d_8.jpg","author_name":&= quot;mitchzorn","height":640,"width":640,"ver= sion":"1.0","author_url":"http:\/\/instagram.com\/mitchzorn"= ,"author_id":192009753,"type":"photo","p= rovider_name":"Instagram"}

steps:

1. conversion table

[table name=3Dclea= nMeJSON&fields=3Dfrom,to]
{=A0=A0=A0
}=A0=A0=A0
"
[/= table]

2. [listwords words=3D[convertchars table=3DcleanMeJSON][theO= utPut][/convertchars]&Delimiters=3D,]
[index] [word]<br />
=A0[/listwords]

3. result
1 p= rovider_url:http::///instagram.comm/
=20 2 media_id:661162059018947119_192009753
=20 3 title:Drink a little drink
=20 4 smoke a little smoke #jack #coke #church #whiskeyinthejaro #whiskey #cou= ntrymusic #outlaw
=20 5 url:http::///distilleryimage1.ak.instagram.comm/3e92a5949b6a11e39c1412d6a= 650978d_8.jpg
=20 6 author_name:mitchzorn
=20 7 height:640
=20 8 width:640
=20 9 version:1.0
=20 10 author_url:http::///instagram.comm/mitchzorn
=20 11 author_id:192009753
=20 12 type:photo
=20 13 provider_name:Instagram



in part= icular, I have no idea how extra letters are getting into the results.
<= /div>
Note the author link: http::///instagram.comm/mitchzorn
there is an extra "m" in "comm"
and an extra &q= uot;:" and an extra "/"

i noticed this bef= ore on something but thought it was the input - now I see it is not.

Is there anything that I have done, that should not work?

=
I just compared my output to Tom's Json Parser script:

json= -12-provider_name =3D Instagram
json-11-type =3D photo
json-10-author_id =3D 192009753
json-09-author_url =3D http:\/\/instagram.com\/mitchzorn
json-08-version =3D 1.0
json-07-width =3D 640
json-06-height =3D 640
json-05-author_name =3D mitchzorn
json-04-url =3D http:\/\/distilleryimage1.ak.instagram.com\/3e92a5949b6a11e= 39c1412d6a650978d_8.jpg
json-03-title =3D Drink a little drink, smoke a little smoke #jack #coke #c= hurch #whiskeyinthejaro #whiskey #countrymusic #outlaw
json-02-media_id =3D 661162059018947119_192009753
json-01-provider_url =3D http:\/\/instagram.com\/


it's d= riving me a little nuts and only just realised that webcat was responsible.= Is this a BUG or operator error?

thanks.

d.



On Thu, Feb 20, 2014 at= 5:49 PM, Tom Duke <tom@revolutionaries.ie> wrote:
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>
<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>--------------------------= ----------
### =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][!]


------------------------------------
### =A0Convert back after spliting into key:value pai= rs =A0###

[/!][table name=3DjsonSplitConversionsBack&fields= =3Dfrom,to]
"
~~~~|
^^^^<= 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][!]


------------------------------------
### =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]
--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us



--
David B= astedo

Ten Plus One Communic= ations Inc.
http://= www.10plus1.com
416.277.4499

--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us
--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: suppo= rt@webdna.us



--=
David Bastedo

Ten Plus One Communic= ations Inc.
http://= www.10plus1.com
416.277.4499

--047d7bd6b82865c14404f4f0611a-- David Bastedo

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

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...

Related Readings:

What am I missing (1997) FlushDatabase Suggestion (1998) trouble updating records in database (1998) OT: Javascript Menus (2003) Email problem (2003) (long) Support (was wo search help) (1999) installing webcatalog problem. HELP! (1998) Newbie search question (between two dates) (2001) limitation found on group searching (1997) Trouble Searching (1999) Adding Message to Order (1997) New iMac, now ... how do I make webdna serve .html files? (2005) Separate SSL Server (1997) [WebDNA] File permissions on Windows? (2010) Integration with SQL (1997) [WebDNA] Ubuntu 14.04 & WebDNA (2017) Locking up with WebCatalog... (1997) Email Formatting (2001) I can't set the variable (2005) problems with 2 tags (1997)