Doug,

I love JSON and use it all the time, mainly in JavaScript and Python, but
how do you propose persisting it to a U2 database?  Or are you proposing
that one would persist data in the native attribute, value, sub-value format
and then de-serialize into JSON for the purpose of transporting?

-Rob

On Thu, Dec 9, 2010 at 7:41 PM, Doug <[email protected]> wrote:

> Read up about JSON (JavaScript Object Notation).  At least JSON is
> compatible with Java, JavaScript, PHP, Python, and Ruby to name a few, see
> http://json.org.  Your field names can be dictionaries or meta names.
> Most other languages besides Unidata or Universe are not happy with dots in
> the named fields so you need to replace them with some other character like
> a underline. You will have to write a parser in UniBasic but you can do in
> about 30 lines of code.  This syntax supports multi-values or even
> sub-values.  Here are some simple examples:
>
> Here is a single valued record:
>  [{"IdCode":"A","Desc":"Active","ReportColor":"#CCFFFF","No_AR":""}]
>
> Here is a multivalued record:
>
> [{"IdCode":"178*MAINT","CustomerNo":"178,"G1EffectiveDate":[["10/01/2007"],[
> "12/31/2010"]],"G1BillRate":[["0.00"],["1.00"]]}]"
>
> JavaScript Reference would be for the first line if it was loaded as an
> object called oData as:
>
> Single array reference:
> oData[0].IdCode would be "178*MAINT"
>
> Multiple array reference:
> oData[0].G1EffectiveDate[1][0] would be "12/31/2010"
>
> We use this format in our U2WebLink middleware running under UniObjects for
> Java for the Web.   The data is much more compact than XML and very
> readable.  Most of the languages have the ability to parse this in a single
> function.  In JavaScript it takes around 7 to 10 milliseconds to parse a
> pretty big JSON string into a JSON array.
>
> Regards,
> Doug
> www.u2logic.com/tools.html
>
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Rob Sobers
> Sent: Thursday, December 09, 2010 4:05 PM
> To: U2 Users List
> Subject: Re: [U2] Sparse array population in Pick
>
> What's the motivation for stuffing an XML-like data structure into a U2
> database?  Is this just a thought experiment?
>
> -Rob
>
> On Thu, Dec 9, 2010 at 5:35 PM, David A. Green
> <[email protected]>wrote:
>
> > If you can restrict the tag names to valid dictionary names you could
> > do something like:
> >
> > TAGS DICT:
> > 1052_MAKE
> > 1052_MODEL
> > 1052_AGE
> >
> > TAGS DATA:
> > 001 Chrysler
> > 002 LeBaron
> > 003 7 years and 3 days
> >
> > David A. Green
> > (480) 813-1725
> > DAG Consulting
> >
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of
> > [email protected]
> > Sent: Thursday, December 09, 2010 3:10 PM
> > To: [email protected]
> > Subject: [U2] Sparse array population in Pick
> >
> > Years ago I had written a system, far predating XML, where the
> > element-tags were unpredictable.  Essentially the user was allowed to
> > create any tags they wished, and any number of tags they wished, attached
> to another item.
> >
> > Each tag had an associated value.  So far example
> >       Zip Code = 95062
> >
> > You could not however predict what tags a person would use, they were
> > all free-form and user-supplied, but you still had to store the tag
> > with their associated value.
> >
> > At the time I developed two ideas for how to do this in a Pick item
> >
> > TAGS1052
> > 001 Make = Chrysler
> > 002 Model = LeBaron
> > 003 Age = 7 years and 3 days
> >
> > TAGS1052
> > 001 Make]Model]Age
> > 002 Chrysler
> > 003 LeBaron
> > 004 7 years and 3 days
> >
> > The first model is clear.  Anyone with no programming background at
> > all, can easily understand it, and also easily edit it.  It suffers
> > from requiring more elaborate programming than the second model, as
> > you have to parse every
> >
> > element.
> >
> > The second model is not quite as clear.  You determine the attibute
> > position of the "value" by locate the tag in attribute 1 and then
> > adding 1 to it.
> > That gives you the attribute number where the value lives.
> > Alternately you could simply pre-fill attribute 1 with an initial null
> > to push everything forward 1 place, then you wouldn't have to add 1 after
> your locate.
> >
> > Comments?  Critiques?  Nasty cat-calls and grimaces?
> >
> > Will Johnson
> >
> >
> > _______________________________________________
> > U2-Users mailing list
> > [email protected]
> > http://listserver.u2ug.org/mailman/listinfo/u2-users
> >
> > _______________________________________________
> > U2-Users mailing list
> > [email protected]
> > http://listserver.u2ug.org/mailman/listinfo/u2-users
> >
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
>
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
>
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to