But, if you have only the array, like this :
[{"code":"00001","value":50},{"code":"00002","value":30},{"code":"00003","value":40}]
This JSON is valid.
What is the good query to get "code" and "value" in my cursor ?
This do not work :
SELECT "code", "value"
FROM JSON_TABLE('[{"code" :"00001","value" :50},
{"code" :"00002","value" :30},
{"code" :"00003","value" :40}]',
'lax $.[*]'
COLUMNS ("code" CHAR(10),
"value" DEC(9, 3)))
I think that 'lax $.[*]' is the problem, but don't know what to use...
Cordialement,
Jean-Marc DUVAL
Pôle développement IT
Développeur IBM i consultant
+33 (0) 6 48 30 21 09
+33 (0) 2 34 59 52 91
-----Message d'origine-----
De : RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> De la part de John Yeung
Envoyé : vendredi 8 novembre 2019 23:01
À : RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Objet : Re: JSON : ARRAY name needed ?
On Fri, Nov 8, 2019 at 2:31 PM Jean-Marc DUVAL <jean-marc.duval@xxxxxxxxxxx> wrote:
and not this :
SELECT "code", "value"
FROM JSON_TABLE('{[{"code" :"00001","value" :50},
{"code" :"00002","value" :30},
{"code" :"00003","value" :40}]}', 'lax
$.[*]'
COLUMNS ("code" CHAR(10),
"value" DEC(9, 3)))
Is the array name needed ?
Yes.
You should familiarize yourself with the JSON format:
https://www.json.org/
It's quite simple and regular. Curly braces, if not empty, can only contain name:value pairs.
It is easier to understand if you know the concept of associative array, or hash, or dictionary from other languages.
John Y.
--
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@xxxxxxxxxxxx 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.