The data in nestedOne is not a JSON object but a string.
If you want to decompose the JSON data/object, you have to remove the \
before the double quotes and the surrounding double quotes.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Justin
Taylor
Sent: Freitag, 5. Juni 2020 19:19
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: DATA-INTO & nested JSON
I'm trying to parse nested JSON using DATA-INTO and YAJL/YAJLINTO.
The top level parses fine, but it's giving me an error on subsequent levels
(4. The document is missing information to match subfields).
Here's a simple example I created.
Dcl-ds jsonDs qualified inz ;
elementA varChar(255) ;
elementB varChar(255) ;
Dcl-ds nestedOne inz ;
elementD varChar(255) ;
End-ds ;
elementC varChar(255) ;
End-ds;
Data-into(e) jsonDs %data(json :'case=any allowextra=yes')
%parser('YAJL/YAJLINTO');
Using this JSON:
{
"elementA":"alpha",
"elementB":"bravo",
"nestedOne":"{\"elementD\":\"delta\",\"nestedTwo\":{\"elementE\":\"echo\",\"
elementF\":\"foxtrot\"}",
"elementC":"charlie"
}
Can anyone shed some light on what I'm doing wrong?
TIA
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.