Well I am sure you have been following the thread Scott, and JSON does seem significantly slower than YAJL in the little test I did earlier. JSON took 16+ seconds to parse a 140kb JSON in my test but I have yet to check if it really was a successful parse.

On 1 Jun 2015, at 17:47, Scott Klement <web400@xxxxxxxxxxxxxxxx> wrote:

Kevin,

We benchmarked many JSON parsers before porting YAJL. The one from
RPGNextGen.com was, unfortunately, the slowest and most limited of all
the tools we tried. This was unfortunate, because I had high hopes for
it, and wanted to use it... Maybe it has improved since our benchmarks?
(Nearly 3 years ago.)

Sorry that you don't like the names I picked (such as
yajl_tree_load_buf). But, as YAJL has two different parser styles
(analogous to DOM vs SAX) and can load data from different sources (such
as a stream file vs. a buffer) I felt that using names like "json_parse"
would be ambiguous. (At least, until we have support for overloading in
RPG!)

I appreciate your feedback.

-SK



On 5/30/2015 2:51 AM, Kevin Turner wrote:
I think I'm going to have to compare take a closer look at YAJL to properly compare it to JSON from rpgnextgen.com. The latter is attractive because it is written entirely in RPG and the procedure names seem a bit more intuitive (e.g. json_parse() compared to yajl_tree_load_buf() ) - however as YAJL is, I believe, written in C it might bring some performance benefits.





On 30 May 2015, at 04:08, Scott Klement <web400@xxxxxxxxxxxxxxxx> wrote:

Raul,

I don't understand your complaint about calling QtmhRdStin? it's an extremely simple call, and then your JSON data is loaded into a variable in your program, and you can parse it. What could be simpler?

If you're interested in YAJL, you can use the yajl_tree_load_buf() procedure to load the buffer you got from QtmhRdStin() to parse the JSON, and then you'll have a yajl tree that you can extract the data from. There's info on parsing XML with yajl in the following handout (this is from talks I give on yajl):

http://www.scottklement.com/presentations/Working%20with%20JSON%20in%20RPG.pdf

I've been considering adding a wrapper to my YAJL tools that does the call to QtmhRdStin() for you so you don't have to code it by hand -- this wouldn't save you all that much, really, just eliminates the need to code it each time. Would that be more attractive to you? (That's basically what CGIDEV2 does, after all.)


On 5/29/2015 5:00 PM, Raul A Jager W wrote:
We are planing to wor with a company that will send us data as POST in
json format.
CGIDEV seems to ignore this data. With another company I used
QtmhRdStin, but I wonder if there is an easier way to read it.

I installed YAJL from Scot's site, but it seems that is great to create
json and to parse it, but I did not find how to receive it.

According to this: http://www.w3.org/TR/html-json-forms/ browsers will
be able to send json encode data.

Here is part of the document they send me.

Recurso: Pago (POST / JSON)
Pedido

Nombre Campo Tipo Longitud Descripción
codServicio String 5
tipoTrx Num 2 03 = Pago
usuario String 20
password String 20
nroFactura Num 15
importe String 15,2 Ej.: 10.000 = 000000001000000
moneda String 1 1= Guaraní, 2= Dólar.
medioPago Num 1 1=Efectivo, 2=Cheque
codTransaccion Num 10 Identificador único de la transacción.

{
"usuario": "test",
"password": "*134*",
"nroFactura": "60",
"moneda": "1",
"importe": "335500",
"codTransaccion": "0012929861"
}

-- Este e-mail fue enviado desde el Mail Server del diario ABC Color --
-- Verificado por Anti-Virus Corporativo Symantec --
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


___________________________________________
This email has been scanned by iomartcloud.
http://www.iomartcloud.com/

________________________________

NOTICE: The information in this electronic mail transmission is intended by CoralTree Systems Ltd for the use of the named individuals or entity to which it is directed and may contain information that is privileged or otherwise confidential. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by telephone, so that the sender's address records can be corrected.



--------------------------------------------------------------------------------


CoralTree Systems Limited
Company Registration Number 5021022.
Registered Office:
12-14 Carlton Place
Southampton
Hampshire
SO15 2EA
VAT Registration Number 834 1020 74.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.


___________________________________________
This email has been scanned by iomartcloud.
http://www.iomartcloud.com/


________________________________

NOTICE: The information in this electronic mail transmission is intended by CoralTree Systems Ltd for the use of the named individuals or entity to which it is directed and may contain information that is privileged or otherwise confidential. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by telephone, so that the sender's address records can be corrected.



--------------------------------------------------------------------------------


CoralTree Systems Limited
Company Registration Number 5021022.
Registered Office:
12-14 Carlton Place
Southampton
Hampshire
SO15 2EA
VAT Registration Number 834 1020 74.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.