|
Débuté par PETER ZHOU, 09 avr. 2018 03:20 - 5 réponses |
| |
| | | |
|
| |
Posté le 09 avril 2018 - 03:20 |
Hi,
I received error from WINDEV saying 'Member' property not allowed on 'array' variable. Error code: 1102; Level: fatal error
What i can do to fix it?
Json :-
[{"origin": false, "message_follower_ids": [3, 19], "create_date": "2018-04-06 09:01:36", "display_name": "SO003", "order_line": [6, 7], "invoiced_rate": 0.0, "write_uid": [1, "Administrator"], "currency_id": [1, "EUR"], "invoice_ids": [], "invoice_exists": false, "client_order_ref": false, "date_order": "2018-04-06 09:01:39", "partner_id": [19, "Chamber Works"], "message_ids": [274, 248, 247], "message_summary": " ", "amount_tax": 0.0, "procurement_group_id": false, "fiscal_position": false, "amount_untaxed": 377.5, "message_is_follower": true, "__last_update": "2018-04-06 11:04:13", "payment_term": false, "message_last_post": "2018-04-06 11:04:13", "company_id": [1, "YourCompany"], "id": 3, "note": false, "state": "manual", "paypal_url": false, "pricelist_id": [1, "Public Pricelist (EUR)"], "invoiced": false, "create_uid": [1, "Administrator"], "portal_payment_options": "", "section_id": [1, "Direct Sales"], "write_date": "2018-04-06 11:04:13", "partner_invoice_id": [19, "Chamber Works"], "user_id": [1, "Administrator"], "date_confirm": "2018-04-06", "amount_total": 377.5, "project_id": false, "name": "SO003", "partner_shipping_id": [19, "Chamber Works"], "product_id": [2, "On Site Monitoring"], "order_policy": "manual", "message_unread": false}]
sJSon is ANSI string = EDT_NoName1 ( which contain the Json ) let vjs=JSONToVariant(sJSon)
FOR EACH _Member OF vjs..Member
IF _Member..Member..Occurrence = 0 THEN Trace("The member " + _Member..Name + " has the value " + Member..Value) ELSE Trace("The member " + _Member..Name + " has " + Member..Member..Occurrence + ... " other members") BrowseVariantMembers(_Member) END END
PROCEDURE BrowseVariantMembers(x)
FOR EACH _Member OF x..Member IF _Member..Member..Occurrence = 0 THEN Trace(RepeatString("--", StringCount(dbgInfo(dbgStack), CR)) + ... "The member " + _Member..Name + " has the value " + _Member..Value)
ELSE Trace(RepeatString("--", StringCount(dbgInfo(dbgStack), CR)) + ... "The member " + _Member..Name + " has " + _Member..Member..Occurrence + ... " other members...")
BrowseVariantMembers(_Member) END END
Regards,
PETER ZHOU |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2018 - 15:59 |
Quote PETER ZHOU
Hi,
I received error from WINDEV saying 'Member' property not allowed on 'array' variable.
Error code: 1102; Level: fatal error
What i can do to fix it?
Json :-
[{"origin": false, "message_follower_ids": [3, 19], "create_date": "2018-04-06 09:01:36", "display_name": "SO003", "order_line": [6, 7], "invoiced_rate": 0.0, "write_uid": [1, "Administrator"], "currency_id": [1, "EUR"], "invoice_ids": [], "invoice_exists": false, "client_order_ref": false, "date_order": "2018-04-06 09:01:39", "partner_id": [19, "Chamber Works"], "message_ids": [274, 248, 247], "message_summary": " ", "amount_tax": 0.0, "procurement_group_id": false, "fiscal_position": false, "amount_untaxed": 377.5, "message_is_follower": true, "__last_update": "2018-04-06 11:04:13", "payment_term": false, "message_last_post": "2018-04-06 11:04:13", "company_id": [1, "YourCompany"], "id": 3, "note": false, "state": "manual", "paypal_url": false, "pricelist_id": [1, "Public Pricelist (EUR)"], "invoiced": false, "create_uid": [1, "Administrator"], "portal_payment_options": "", "section_id": [1, "Direct Sales"], "write_date": "2018-04-06 11:04:13", "partner_invoice_id": [19, "Chamber Works"], "user_id": [1, "Administrator"], "date_confirm": "2018-04-06", "amount_total": 377.5, "project_id": false, "name": "SO003", "partner_shipping_id": [19, "Chamber Works"], "product_id": [2, "On Site Monitoring"], "order_policy": "manual", "message_unread": false}]
sJSon is ANSI string = EDT_NoName1 ( which contain the Json )
let vjs=JSONToVariant(sJSon)
FOR EACH _Member OF vjs..Member
IF _Member..Member..Occurrence = 0 THEN
Trace("The member " + _Member..Name + " has the value " +
Member..Value)
ELSE
Trace("The member " + _Member..Name + " has " +
Member..Member..Occurrence + ...
" other members")
BrowseVariantMembers(_Member)
END
END
PROCEDURE BrowseVariantMembers(x)
FOR EACH _Member OF x..Member
IF _Member..Member..Occurrence = 0 THEN
Trace(RepeatString("--", StringCount(dbgInfo(dbgStack), CR)) + ...
"The member " + _Member..Name + " has the value " + _Member..Value)
ELSE
Trace(RepeatString("--", StringCount(dbgInfo(dbgStack), CR)) + ...
"The member " + _Member..Name + " has " + _Member..Member..Occurrence + ...
" other members...")
BrowseVariantMembers(_Member)
END
END
Regards,
PETER ZHOU
Hi,
Anybody can offer some help ?
Regards,
PETER ZHOU |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2018 - 18:33 |
Hi Peter,
I think you need to declare a Variant variable.
e.g.
vJS is Variant=JSONToVariant(sJSon)
and then search through the object vJS |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2018 - 18:49 |
Quote steve erts
Hi Peter,
I think you need to declare a Variant variable.
e.g.
vJS is Variant=JSONToVariant(sJSon)
and then search through the object vJS
Hi Steve,
I just found out that i need to use array to see the value.
Regards,
PETER ZHOU |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2018 - 18:59 |
Hi Peter
Pls see below my sample as a hint about arrays' in json,
//wd22
sItin is Structure DayNbr is int title is String END
stA is Structure Id is int title is string itinerary_days is dynamic array of sItin END
ss is array of stA
s is buffer s = [ [{ "id":540, "title":"14-Day Ultimate Namibia Safari", "itinerary_days": [ { "DayNbr":1, "Title":"Day 1" },{"DayNbr":2, "Title":"Day 2" },{"DayNbr":3, "Title":"Day 3"}] }] ] s = fLoadBuffer("y:\galon\json\j1.json")
trace(timeSys(),"s2") Deserialize(ss,s, psdJSON) trace(ss[2].id)
n is int=1 For each item of ss[1]:itinerary_days //trace("ok") trace(ss[1]:itinerary_days[n].Title, ss[1]:itinerary_days[n].DayNbr) n++ end //
Pls share your code once completed and fixed.
HTH
King |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2018 - 19:02 |
j1.json is:
[{ "id":540, "title":"14-Day Ultimate Namibia Safari", "itinerary_days": [{ "DayNbr":1, "Title":"Day 1" },{"DayNbr":2, "Title":"Day 2" },{"DayNbr":3, "Title":"Day 3"}] }, { "id":168, "title":"14-Day Ultimate Namibia Safari", "itinerary_days": [{ "DayNbr":1, "Title":"Day 1" },{"DayNbr":2, "Title":"Day 2" },{"DayNbr":3, "Title":"Day 3"}] } ] |
| |
| |
| | | |
|
| | | | |
| | |
|