Here are some powerEXT Core RPGLE examples to read and write JSON in RPGLE.
It can both read/write from http as either raw JSON or as POST data within
PARMS or from the IFS.



http://powerext.com/jsonwrite.txt



http://powerext.com/jsonreadsimple.txt



http://powerext.com/jsonread.txt

On Sat, May 30, 2015 at 9:51 AM, Kevin Turner <
kevin.turner@xxxxxxxxxxxxxxxxxxxx> 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.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.