Re: [WebDNA] WebDNA development

This WebDNA talk-list message is from

2017


It keeps the original formatting.
numero = 113742
interpreted = N
texte = 1337 --001a1144db7eb7a443055ecfcb07 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Chris, Hi - finally coming back to this. The [convertwords] idea does not work as each node in the table / database created by [jsonstore] is added as a field. So we don't have a 'from,to' field structure. I also can't seem to use [listfields] with a table. So the only option if you don't know the structure of the JSONobject is to use [jsonstore] to create a database on disk and then use [listfields] on that to traverse the JSONobject. Something like this is needed just to see the values from the JSONobject [jsonstore db=3Djsonparse.db]JSONobject[/jsonstore] [listfields db=3Djsonparse.db] [showif [index]=3D1] [text]node-1-name=3D[fieldname][/text] [/showif] [/listfields] [search db=3Djsonparse.db&ne[node-1-name]data=3Dfind_all][founditems] [listfields db=3Djsonparse.db] [fieldname]=3D[interpret][[fieldname]][/interpret] [/listfields] [/founditems][/search] The 'jsonparse.db' then has to be zero'd out after each [jsonstore], or new data get appended to it. Alternatively we name the database something like jsonparse-[cart].db to ensure they are unique, but we end up littering the disk with databases. In the context of dealing with json from an api or ajax call it seems like a lot of overhead to traverse a json response. Take care - Tom =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Digital Revolutionaries 1st Floor, Castleriver House 14-15 Parliament Street Temple Bar,Dublin 2 Ireland ---------------------------------------------- [t]: + 353 1 4403907 [e]: [w]: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D On 6 March 2017 at 10:21, wrote: > Hi Tom! I suppose you could try something like this: first, create the > table, something like this should work fine > > [JSONstore table=3DtabJSONPARSE] > JSONobject > [/JSONstore] > > you do not need to know the exact structure of the incoming JSON response= , > WebDNA will do it for you (I have personally not tested with a table, but > it does with a db) > > Then, you can use [convertwords]: > > [convertwords table=3DtabJSONPARSE]error:type and > error:message[/convertwords] > > This should work=E2=80=A6 > > - chris > > > > On Mar 4, 2017, at 16:59, Tom Duke wrote: > > > > Chris, > > > > Hi - I'm using [jsonstore] and it's great to have it. It's not a > flexible as [xmlparse] though. > > > > So if I want to pull out the error message from a Stripe.com json > response I have to do the following: > > > > [table name=3DtabJSONPARSE&fields=3DtID, > error:type,error:message][/table][!] > > [/!][jsonstore table=3DtabJSONPARSE][ > varSTRIPERESPONSE][/jsonstore][!] > > [/!][search table=3DtabJSONPARSE&netIDdatarq=3Dfind_all][ > founditems][!] > > [/!][text]error:type=3D[error:type][/text][!] > > [/!][text]error:message=3D[error:message][/text][= !] > > [/!][/founditems][/search] > > > > Only then can I access the variable [error:message]. I also need to > know the exact structure of the incoming JSON response so I can set up th= e > table correctly. > > > > If we had similar functionality to [xmlparse] then I could do something > like: > > > > [jsonparse var=3Djson_var1][varSTRIPERESPONSE][/jsonpars= e] > > [jsonnode ref=3Djson_var1&path=3Dnamed: > error:message][value][/jsonnode] > > > > It would also be great to be able to traverse the JSON response, > particularly if we are not sure about the structure of the incoming JSON > > > > [jsonnodes ref=3Djson_var1] > > [name]=3D[value] > > [/jsonnodes] > > > > > > - Tom > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Digital Revolutionaries > > 1st Floor, Castleriver House > > 14-15 Parliament Street > > Temple Bar,Dublin 2 > > Ireland > > ---------------------------------------------- > > [t]: + 353 1 4403907 > > [e]: > > [w]: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > On 3 March 2017 at 15:27, wrote: > > Hi Tom! WebDNA already includes a JSON parser, that takes any JSON > Object, parse and store it: it will automatically create the database if = it > does not exist, create the fields and populate it. > > > > http://www.webdna.us/page.dna?numero=3D307 > > > > From this, it is easy to use the data by treating the database (or > table) like any other WebDNA database. > > > > best regards, > > > > - chris > > > > > > > > > On Mar 3, 2017, at 15:57, Tom Duke wrote: > > > > > > Chris, > > > > > > Hi - great to hear that you are working on this. > > > > > > The features that I would love to see are: > > > > > > > > > [json_encode]{data}[/json_encode] > > > > > > It would operate the same as the matching PHP function: > http://www.php.net/manual/en/function.json-encode.php > > > > > > So the data would be a WebDNA array and/or perhaps name/value pairs > separated by line returns. Nested JSON would require some thought, some > ideas here: http://stackoverflow.com/questions/15810257/create- > nested-json-object-in-php > > > > > > > > > [json_parse]{data}[/json_parse] > > > > > > It would operate in a similar way to [xmlparse] allowing us to > traverse and extract the JSON data by node. Also similar to the PHP > json_decode function: http://www.php.net/manual/en/ > function.json-decode.php > > > > > > > > > > > > - Tom > > > > > > > > > > > > > > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > Digital Revolutionaries > > > 1st Floor, Castleriver House > > > 14-15 Parliament Street > > > Temple Bar,Dublin 2 > > > Ireland > > > ---------------------------------------------- > > > [t]: + 353 1 4403907 > > > [e]: > > > [w]: > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > On 27 February 2017 at 14:24, wrote= : > > > Hello, > > > > > > we are interested to expand and develop the JSON capabilities and > compatibility of WebDNA, particularly treating JSON-formatted returns fro= m > javascript as well as submitting JSON-formatted info to external programs > and applications. > > > > > > If you have any related ideas, we are listening! :-) > > > > > > - chris--------------------------------------------------------- > > > 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 . T= o > 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 > > > > --------------------------------------------------------- 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 > --001a1144db7eb7a443055ecfcb07 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Chris,

Hi - finally coming back to this= ..

The [convertwords] idea does not work as each no= de in the table / database created by [jsonstore] is added as a field.=C2= =A0 So we don't have a 'from,to' field structure.
I also can't seem to use [listfields] with a table.=C2=A0 S= o the only option if you don't know the structure of the JSONobject is = to use [jsonstore] to create a database on disk and then use [listfields] o= n that to traverse the JSONobject.

Something like = this is needed just to see the values from the JSONobject

[jsonstore db=3Djsonparse.db]JSONobject[/jsonstore]
[list= fields db=3Djsonparse.db]
=C2=A0 =C2=A0 [showif [index]=3D1]
=C2=A0 =C2=A0 =C2=A0 [text]node-1-name=3D[fieldname][/text]
=C2=A0 =C2=A0 [/showif]
[/listfields]
[search db=3Djso= nparse.db&ne[node-1-name]data=3Dfind_all][founditems]
[l= istfields db=3Djsonparse.db]
=C2=A0 =C2=A0 [fieldname]=3D[interpr= et][[fieldname]][/interpret]
[/listfields]
[/foun= ditems][/search]

The 'jsonparse.db' then h= as to be zero'd out after each [jsonstore], or new data get appended to= it.=C2=A0 Alternatively we name the database something like jsonparse-[car= t].db to ensure they are unique, but we end up littering the disk with data= bases.

In the context of dealing with json from an= api or ajax call it seems like a lot of overhead to traverse a json respon= se.

Take care
- Tom

=




=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
Digital Revolutionaries
1st Floor, Castleriv= er House
14-15 Parliament Street
Temple Bar,Dublin 2
Ireland
--= --------------------------------------------
[t]: + 353 1 4403907
[e]= : <mailto:to= m@revolutionaries.ie>
[w]: <http://www.revolutionaries.ie/>
=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

On 6 March 2017 at 10:21, <c= hristophe.billiottet@webdna.us> wrote:
Hi Tom! I suppose you could try something like this: first, c= reate the table, something like this should work fine

[JSONstore table=3DtabJSONPARSE]
JSONobject
[/JSONstore]

you do not need to know the exact structure of the incoming JSON response, = WebDNA will do it for you (I have personally not tested with a table, but i= t does with a db)

Then, you can use [convertwords]:

[convertwords table=3DtabJSONPARSE]error:type and error:message[/convertwor= ds]

This should work=E2=80=A6

- chris


> On Mar 4, 2017, at 16:59, Tom Duke <tom@revolutionaries.ie> wrote:
>
> Chris,
>
> Hi - I'm using [jsonstore] and it's great to have it.=C2=A0 It= 's not a flexible as [xmlparse] though.
>
> So if I want to pull out the error message from a Stripe.com json resp= onse I have to do the following:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[table na= me=3DtabJSONPARSE&fields=3DtID,error:type,error:message][/tab= le][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][jsonstore t= able=3DtabJSONPARSE][varSTRIPERESPONSE][/jsonstore][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][search tabl= e=3DtabJSONPARSE&netIDdatarq=3Dfind_all][founditems][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0[/!][text]error:type=3D[error:type][/text][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0[/!][text]error:message=3D[error:message][/text][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][/founditems= ][/search]
>
> Only then can I access the variable [error:message].=C2=A0 I also need= to know the exact structure of the incoming JSON response so I can set up = the table correctly.
>
> If we had similar functionality to [xmlparse] then I could do somethin= g like:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonparse var= =3Djson_var1][varSTRIPERESPONSE][/jsonparse]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonnode ref= =3Djson_var1&path=3Dnamed:error:message][value][/jsonnode] >
> It would also be great to be able to traverse the JSON response, parti= cularly if we are not sure about the structure of the incoming JSON
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonnodes ref= =3Djson_var1]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 [name]=3D[value]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [/jsonnodes] >
>
> - Tom
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<= br> > Digital Revolutionaries
> 1st Floor, Castleriver House
> 14-15 Parliament Street
> Temple Bar,Dublin 2
> Ireland
> ----------------------------------------------
> [t]: + = 353 1 4403907
> [e]: <mailto:tom@revoluti= onaries.ie>
> [w]: <http://www.revolutionaries.ie/>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<= br> >
> On 3 March 2017 at 15:27, <christophe.billiottet@webdna.us> wrote:
> Hi Tom! WebDNA already includes a JSON parser, that takes any JSON Obj= ect, parse and store it: it will automatically create the database if it do= es not exist, create the fields and populate it.
>
> http://www.webdna.us/page.dna?numero=3D307 >
> From this, it is easy to use the data by treating the database (or tab= le) like any other WebDNA database.
>
> best regards,
>
> - chris
>
>
>
> > On Mar 3, 2017, at 15:57, Tom Duke <tom@revolutionaries.ie> wrote:
> >
> > Chris,
> >
> > Hi - great to hear that you are working on this.
> >
> > The features that I would love to see are:
> >
> >
> > [json_encode]{data}[/json_encode]
> >
> > It would operate the same as the matching PHP function: http://www.php.net/manual/en/function.json-encode= ..php
> >
> > So the data would be a WebDNA array and/or perhaps name/value pai= rs separated by line returns. Nested JSON would require some thought, some = ideas here: http://stack= overflow.com/questions/15810257/create-nested-json-object-in-php<= /a>
> >
> >
> > [json_parse]{data}[/json_parse]
> >
> > It would operate in a similar way to [xmlparse] allowing us to tr= averse and extract the JSON data by node.=C2=A0 Also similar to the PHP jso= n_decode function:
http://www.php.net/manual/en= /function.json-decode.php
> >
> >
> >
> > - Tom
> >
> >
> >
> >
> >
> >
> >
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
> > Digital Revolutionaries
> > 1st Floor, Castleriver House
> > 14-15 Parliament Street
> > Temple Bar,Dublin 2
> > Ireland
> > ----------------------------------------------
> > [t]: + 353 1 4403907
> > [e]: <mailto:tom@rev= olutionaries.ie>
> > [w]: <http://www.revolutionaries.ie/>
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
> >
> > On 27 February 2017 at 14:24, <christophe.billiottet@webdna.us> wrote:
> > Hello,
> >
> > we are interested to expand and develop the JSON capabilities and= compatibility of WebDNA, particularly treating JSON-formatted returns from= javascript as well as submitting JSON-formatted info to external programs = and applications.
> >
> > If you have any related ideas, we are listening! :-)
> >
> > - chris-----------------------------------------------------= ----
> > This message is sent to you because you are subscribed to
> > the mailing list <talk@webdn= a.us>.
> > To unsubscribe, E-mail to: <talk-leave@webdna.us>
> > archives: http://mail.webdna.us/list/talk@we= bdna.us
> > Bug Reporting: support@webdn= a.us
> >
> > --------------------------------------------------------- Th= is 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 <talk@webdna.us<= /a>>.
> To unsubscribe, E-mail to: <
talk-leave@webdna.us>
> archives: http://mail.webdna.us/list/talk@webdna.= us
> Bug Reporting: support@webdna.us<= /a>
>
> --------------------------------------------------------- This me= ssage is sent to you because you are subscribed to the mailing list . To un= subscribe, 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 <talk@webdna.us&g= t;.
To unsubscribe, E-mail to: <talk= -leave@webdna.us>
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 talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=3D55 Bug Reporting: support@webdna.us --001a1144db7eb7a443055ecfcb07-- . Associated Messages, from the most recent to the oldest:

    
  1. Re: [WebDNA] WebDNA Development server (William DeVaul 2018)
  2. Re: [WebDNA] WebDNA Development server (Stuart Tremain 2018)
  3. Re: [WebDNA] WebDNA development (Tom Duke 2017)
  4. Re: [WebDNA] WebDNA development (Tom Duke 2017)
  5. Re: [WebDNA] WebDNA development (christophe.billiottet@webdna.us 2017)
  6. Re: [WebDNA] WebDNA development (Tom Duke 2017)
  7. Re: [WebDNA] WebDNA development (christophe.billiottet@webdna.us 2017)
  8. Re: [WebDNA] WebDNA development (Tom Duke 2017)
  9. [WebDNA] WebDNA development (christophe.billiottet@webdna.us 2017)
1337 --001a1144db7eb7a443055ecfcb07 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Chris, Hi - finally coming back to this. The [convertwords] idea does not work as each node in the table / database created by [JSONstore] is added as a field. So we don't have a 'from,to' field structure. I also can't seem to use [listfields] with a table. So the only option if you don't know the structure of the JSONobject is to use [JSONstore] to create a database on disk and then use [listfields] on that to traverse the JSONobject. Something like this is needed just to see the values from the JSONobject [jsonstore db=3Djsonparse.db]JSONobject[/jsonstore] [listfields db=3Djsonparse.db] [showif [index]=3D1] [text]node-1-name=3D[fieldname][/text] [/showif] [/listfields] [search db=3Djsonparse.db&ne[node-1-name]data=3Dfind_all][founditems] [listfields db=3Djsonparse.db] [fieldname]=3D[interpret][[fieldname]][/interpret] [/listfields] [/founditems][/search] The 'jsonparse.db' then has to be zero'd out after each [JSONstore], or new data get appended to it. Alternatively we name the database something like jsonparse-[cart].db to ensure they are unique, but we end up littering the disk with databases. In the context of dealing with json from an api or ajax call it seems like a lot of overhead to traverse a json response. Take care - Tom =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Digital Revolutionaries 1st Floor, Castleriver House 14-15 Parliament Street Temple Bar,Dublin 2 Ireland ---------------------------------------------- [t]: + 353 1 4403907 [e]: [w]: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D On 6 March 2017 at 10:21, wrote: > Hi Tom! I suppose you could try something like this: first, create the > table, something like this should work fine > > [JSONstore table=3DtabJSONPARSE] > JSONobject > [/JSONstore] > > you do not need to know the exact structure of the incoming JSON response= , > WebDNA will do it for you (I have personally not tested with a table, but > it does with a db) > > Then, you can use [convertwords]: > > [convertwords table=3DtabJSONPARSE]error:type and > error:message[/convertwords] > > This should work=E2=80=A6 > > - chris > > > > On Mar 4, 2017, at 16:59, Tom Duke wrote: > > > > Chris, > > > > Hi - I'm using [JSONstore] and it's great to have it. It's not a > flexible as [xmlparse] though. > > > > So if I want to pull out the error message from a Stripe.com json > response I have to do the following: > > > > [table name=3DtabJSONPARSE&fields=3DtID, > error:type,error:message][/table][!] > > [/!][jsonstore table=3DtabJSONPARSE][ > varSTRIPERESPONSE][/jsonstore][!] > > [/!][search table=3DtabJSONPARSE&netIDdatarq=3Dfind_all][ > founditems][!] > > [/!][text]error:type=3D[error:type][/text][!] > > [/!][text]error:message=3D[error:message][/text][= !] > > [/!][/founditems][/search] > > > > Only then can I access the variable [error:message]. I also need to > know the exact structure of the incoming JSON response so I can set up th= e > table correctly. > > > > If we had similar functionality to [xmlparse] then I could do something > like: > > > > [jsonparse var=3Djson_var1][varSTRIPERESPONSE][/jsonpars= e] > > [jsonnode ref=3Djson_var1&path=3Dnamed: > error:message][value][/jsonnode] > > > > It would also be great to be able to traverse the JSON response, > particularly if we are not sure about the structure of the incoming JSON > > > > [jsonnodes ref=3Djson_var1] > > [name]=3D[value] > > [/jsonnodes] > > > > > > - Tom > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Digital Revolutionaries > > 1st Floor, Castleriver House > > 14-15 Parliament Street > > Temple Bar,Dublin 2 > > Ireland > > ---------------------------------------------- > > [t]: + 353 1 4403907 > > [e]: > > [w]: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > On 3 March 2017 at 15:27, wrote: > > Hi Tom! WebDNA already includes a JSON parser, that takes any JSON > Object, parse and store it: it will automatically create the database if = it > does not exist, create the fields and populate it. > > > > http://www.webdna.us/page.dna?numero=3D307 > > > > From this, it is easy to use the data by treating the database (or > table) like any other WebDNA database. > > > > best regards, > > > > - chris > > > > > > > > > On Mar 3, 2017, at 15:57, Tom Duke wrote: > > > > > > Chris, > > > > > > Hi - great to hear that you are working on this. > > > > > > The features that I would love to see are: > > > > > > > > > [json_encode]{data}[/json_encode] > > > > > > It would operate the same as the matching PHP function: > http://www.php.net/manual/en/function.json-encode.php > > > > > > So the data would be a WebDNA array and/or perhaps name/value pairs > separated by line returns. Nested JSON would require some thought, some > ideas here: http://stackoverflow.com/questions/15810257/create- > nested-json-object-in-php > > > > > > > > > [json_parse]{data}[/json_parse] > > > > > > It would operate in a similar way to [xmlparse] allowing us to > traverse and extract the JSON data by node. Also similar to the PHP > json_decode function: http://www.php.net/manual/en/ > function.json-decode.php > > > > > > > > > > > > - Tom > > > > > > > > > > > > > > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > Digital Revolutionaries > > > 1st Floor, Castleriver House > > > 14-15 Parliament Street > > > Temple Bar,Dublin 2 > > > Ireland > > > ---------------------------------------------- > > > [t]: + 353 1 4403907 > > > [e]: > > > [w]: > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > On 27 February 2017 at 14:24, wrote= : > > > Hello, > > > > > > we are interested to expand and develop the JSON capabilities and > compatibility of WebDNA, particularly treating JSON-formatted returns fro= m > javascript as well as submitting JSON-formatted info to external programs > and applications. > > > > > > If you have any related ideas, we are listening! :-) > > > > > > - chris--------------------------------------------------------- > > > 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 . T= o > 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 > > > > --------------------------------------------------------- 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 > --001a1144db7eb7a443055ecfcb07 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Chris,

Hi - finally coming back to this= ..

The [convertwords] idea does not work as each no= de in the table / database created by [JSONstore] is added as a field.=C2= =A0 So we don't have a 'from,to' field structure.
I also can't seem to use [listfields] with a table.=C2=A0 S= o the only option if you don't know the structure of the JSONobject is = to use [JSONstore] to create a database on disk and then use [listfields] o= n that to traverse the JSONobject.

Something like = this is needed just to see the values from the JSONobject

[jsonstore db=3Djsonparse.db]JSONobject[/jsonstore]
[list= fields db=3Djsonparse.db]
=C2=A0 =C2=A0 [showif [index]=3D1]
=C2=A0 =C2=A0 =C2=A0 [text]node-1-name=3D[fieldname][/text]
=C2=A0 =C2=A0 [/showif]
[/listfields]
[search db=3Djso= nparse.db&ne[node-1-name]data=3Dfind_all][founditems]
[l= istfields db=3Djsonparse.db]
=C2=A0 =C2=A0 [fieldname]=3D[interpr= et][[fieldname]][/interpret]
[/listfields]
[/foun= ditems][/search]

The 'jsonparse.db' then h= as to be zero'd out after each [JSONstore], or new data get appended to= it.=C2=A0 Alternatively we name the database something like jsonparse-[car= t].db to ensure they are unique, but we end up littering the disk with data= bases.

In the context of dealing with json from an= api or ajax call it seems like a lot of overhead to traverse a json respon= se.

Take care
- Tom

=




=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
Digital Revolutionaries
1st Floor, Castleriv= er House
14-15 Parliament Street
Temple Bar,Dublin 2
Ireland
--= --------------------------------------------
[t]: + 353 1 4403907
[e]= : <mailto:to= m@revolutionaries.ie>
[w]: <http://www.revolutionaries.ie/>
=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

On 6 March 2017 at 10:21, <c= hristophe.billiottet@webdna.us> wrote:
Hi Tom! I suppose you could try something like this: first, c= reate the table, something like this should work fine

[JSONstore table=3DtabJSONPARSE]
JSONobject
[/JSONstore]

you do not need to know the exact structure of the incoming JSON response, = WebDNA will do it for you (I have personally not tested with a table, but i= t does with a db)

Then, you can use [convertwords]:

[convertwords table=3DtabJSONPARSE]error:type and error:message[/convertwor= ds]

This should work=E2=80=A6

- chris


> On Mar 4, 2017, at 16:59, Tom Duke <tom@revolutionaries.ie> wrote:
>
> Chris,
>
> Hi - I'm using [JSONstore] and it's great to have it.=C2=A0 It= 's not a flexible as [xmlparse] though.
>
> So if I want to pull out the error message from a Stripe.com json resp= onse I have to do the following:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[table na= me=3DtabJSONPARSE&fields=3DtID,error:type,error:message][/tab= le][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][jsonstore t= able=3DtabJSONPARSE][varSTRIPERESPONSE][/jsonstore][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][search tabl= e=3DtabJSONPARSE&netIDdatarq=3Dfind_all][founditems][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0[/!][text]error:type=3D[error:type][/text][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0[/!][text]error:message=3D[error:message][/text][!]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[/!][/founditems= ][/search]
>
> Only then can I access the variable [error:message].=C2=A0 I also need= to know the exact structure of the incoming JSON response so I can set up = the table correctly.
>
> If we had similar functionality to [xmlparse] then I could do somethin= g like:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonparse var= =3Djson_var1][varSTRIPERESPONSE][/jsonparse]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonnode ref= =3Djson_var1&path=3Dnamed:error:message][value][/jsonnode] >
> It would also be great to be able to traverse the JSON response, parti= cularly if we are not sure about the structure of the incoming JSON
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [jsonnodes ref= =3Djson_var1]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 [name]=3D[value]
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [/jsonnodes] >
>
> - Tom
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<= br> > Digital Revolutionaries
> 1st Floor, Castleriver House
> 14-15 Parliament Street
> Temple Bar,Dublin 2
> Ireland
> ----------------------------------------------
> [t]: + = 353 1 4403907
> [e]: <mailto:tom@revoluti= onaries.ie>
> [w]: <http://www.revolutionaries.ie/>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<= br> >
> On 3 March 2017 at 15:27, <christophe.billiottet@webdna.us> wrote:
> Hi Tom! WebDNA already includes a JSON parser, that takes any JSON Obj= ect, parse and store it: it will automatically create the database if it do= es not exist, create the fields and populate it.
>
> http://www.webdna.us/page.dna?numero=3D307 >
> From this, it is easy to use the data by treating the database (or tab= le) like any other WebDNA database.
>
> best regards,
>
> - chris
>
>
>
> > On Mar 3, 2017, at 15:57, Tom Duke <tom@revolutionaries.ie> wrote:
> >
> > Chris,
> >
> > Hi - great to hear that you are working on this.
> >
> > The features that I would love to see are:
> >
> >
> > [json_encode]{data}[/json_encode]
> >
> > It would operate the same as the matching PHP function: http://www.php.net/manual/en/function.json-encode= ..php
> >
> > So the data would be a WebDNA array and/or perhaps name/value pai= rs separated by line returns. Nested JSON would require some thought, some = ideas here: http://stack= overflow.com/questions/15810257/create-nested-json-object-in-php<= /a>
> >
> >
> > [json_parse]{data}[/json_parse]
> >
> > It would operate in a similar way to
[xmlparse] allowing us to tr= averse and extract the JSON data by node.=C2=A0 Also similar to the PHP jso= n_decode function: http://www.php.net/manual/en= /function.json-decode.php
> >
> >
> >
> > - Tom
> >
> >
> >
> >
> >
> >
> >
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
> > Digital Revolutionaries
> > 1st Floor, Castleriver House
> > 14-15 Parliament Street
> > Temple Bar,Dublin 2
> > Ireland
> > ----------------------------------------------
> > [t]: + 353 1 4403907
> > [e]: <mailto:tom@rev= olutionaries.ie>
> > [w]: <http://www.revolutionaries.ie/>
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
> >
> > On 27 February 2017 at 14:24, <christophe.billiottet@webdna.us> wrote:
> > Hello,
> >
> > we are interested to expand and develop the JSON capabilities and= compatibility of WebDNA, particularly treating JSON-formatted returns from= javascript as well as submitting JSON-formatted info to external programs = and applications.
> >
> > If you have any related ideas, we are listening! :-)
> >
> > - chris-----------------------------------------------------= ----
> > This message is sent to you because you are subscribed to
> > the mailing list <talk@webdn= a.us>.
> > To unsubscribe, E-mail to: <talk-leave@webdna.us>
> > archives: http://mail.webdna.us/list/talk@we= bdna.us
> > Bug Reporting: support@webdn= a.us
> >
> > --------------------------------------------------------- Th= is 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 <talk@webdna.us<= /a>>.
> To unsubscribe, E-mail to: <
talk-leave@webdna.us>
> archives: http://mail.webdna.us/list/talk@webdna.= us
> Bug Reporting: support@webdna.us<= /a>
>
> --------------------------------------------------------- This me= ssage is sent to you because you are subscribed to the mailing list . To un= subscribe, 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 <talk@webdna.us&g= t;.
To unsubscribe, E-mail to: <talk= -leave@webdna.us>
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 talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=3D55 Bug Reporting: support@webdna.us --001a1144db7eb7a443055ecfcb07-- . Tom Duke

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:

[interpret] inside the db field? (1997) Plugin or CGI or both (1997) Some Questions (1997) Navigator 4.01 (1997) looking for developers with solutions (2000) The old multiple selection bit (2000) shownext problems & formvariables (1998) PCS Frames (1997) shipcost (1997) Nested vs conditional (1997) [WebDNA] PHP Array translated to Webdna (2010) RE: New WebCatalog Version !!! (1997) Can you do this??? and other stuff (1997) [taxTotal] question (2001) Date Bug (1998) [ShowNext] feature in 2.0 (1997) Help! WebCat2 bug (1997) Using [purchase] (1998) osx 10.3,webcat,permissions (2004) WebCatalog for Postcards ? (1997)