-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
This library is not able to deserialize JSON containing objects in which:
- one property is set to an empty object
- at least one other property exists, set to something like a number or a string
Given this JSON (call it "JSON A"):
{
"foo": {
"propA": {
"nestedA": 1
},
"propB": 1
}
}
And this JSON (call it "JSON B"):
{
"foo": {
"propA": {},
"propB": 1
}
}
Expected results
Both JSON A and B are valid, and JKI JSON should deserialize both without issue using Unflatten From JSON String.vi
.
Actual results
Unflatten From JSON String.vi
can deserialize JSON A without issue, but returns an error trying to deserialize JSON B:
Error 1527 occurred at Flattened String To Variant in Set Data Name__ogtk.vi->JKI JSON Serialization.lvlib:JSON Deserializer.lvclass:Adapt To Type.vi:3110001->JKI JSON Serialization.lvlib:JSON Deserializer.lvclass:Adapt To Type.vi:3110002->JKI JSON Serialization.lvlib:JSON Deserializer.lvclass:Unflatten From String.vi:2180001->JKI JSON Serialization.lvlib:Unflatten From JSON String.vi:4940001->Run.vi
Possible reason(s):
LabVIEW: Attempted to read flattened data of a LabVIEW class that is not currently loaded into LabVIEW.
Steps to reproduce
-
Save this LabVIEW as a VI in some directory (call it
Run.vi
): -
Create a file
example.json
in the same directory. -
Copy JSON A into
example.json
and save. -
Execute
Run.vi
. There should be no error. -
Replace the contents of
example.json
with JSON B and save. -
Execute
Run.vi
. You should seeError Out
display error 1527.
Metadata
Metadata
Assignees
Labels
No labels