camow7
-
Posts
6 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by camow7
-
-
On 1/31/2020 at 11:25 PM, drjdpowell said:
A possibly better option is to replace your string/integer values with JSON strings, which is LabVIEW strings with <JSON> at the start of the name. So "<JSON>Comment" rather than "Comment". JSONtext will happily parse out the value into your cluster as JSON, then when you actually need your value you can convert it to string/integer, with appropriate handling if it is null or throws an error.
This method, by the way, is also how to handle JSON that has variable structure.
Tested this and it worked well. Had no idea you could add the <JSON> tag to parse complex data types like dictionaries. Super handy. This looks likes it's solved my problems. Thanks!
-
@drjdpowell Also if you go through and set the comment fields to empty strings, the next parsing error hit is this:
QuoteError 1 occurred at JSONtext.lvlib:JSON text to Variant.vi:4410003
Possible reason(s):
Cannot Get as integer: null
Complete call chain:
JSONtext.lvlib:JSON text to Variant.vi:4410003
JSONtext.lvlib:JSON text to Variant.vi:4410002
JSON Parsing Error.viThis is replicated using the same VI shared above by first setting the comment keys to actual strings
-
No problem. Thanks for following it up so quickly. Until a fix is done I could precheck specific fields that may error and set them to empty strings before passing into your conversion vi.
-
@drjdpowell I have attached the vi with the cluster I'm trying to parse it too. I have put the text in as a constant. Let me know if you have trouble running it.
-
I'm trying to parse this JSON data:
{ "id":"fb66aaec-f713-424c-ba04-386d0986fb12", "planId":"4c7cbe9c-ba67-4d8b-b731-32d3de0de700", "name":"AJ3", "redrillOfHoleId":null, "design":{ "angle":0.0, "bearing":4.376555, "comment":null, "decks":[ { "number":1, "horizon":25.0, "length":5.0, "productId":"f3fb75ac-1065-4d9c-bd6a-fdf01c34837b", "weight":0.0, "isVariable":false, "isBackfill":false }, { "number":2, "horizon":20.0, "length":5.0, "productId":"5800171c-e16e-48e7-9431-ac9b88f4852f", "weight":441.786469, "isVariable":false, "isBackfill":false }, { "number":3, "horizon":15.0, "length":5.0, "productId":"f3fb75ac-1065-4d9c-bd6a-fdf01c34837b", "weight":0.0, "isVariable":false, "isBackfill":false }, { "number":4, "horizon":10.0, "length":5.0, "productId":"0fa2dd6d-6b0c-4bfd-998b-e0b50ee64481", "weight":353.429169, "isVariable":false, "isBackfill":false }, { "number":5, "horizon":5.0, "length":5.0, "productId":"f3fb75ac-1065-4d9c-bd6a-fdf01c34837b", "weight":0.0, "isVariable":true, "isBackfill":false }, { "number":6, "horizon":0.0, "length":5.0, "productId":"5800171c-e16e-48e7-9431-ac9b88f4852f", "weight":441.786469, "isVariable":false, "isBackfill":false } ], "diameter":300.0, "length":30.0, "x":-194.97681394419092, "y":67.241148799992772, "z":0.0, "whenCreated":"2020-01-28T01:51:43.4065706Z", "whenUpdated":"2020-01-28T01:51:43.4065706Z" }, "adjustedDesign":{ "angle":0.0, "bearing":4.376555, "comment":null, "decks":[ { "number":1, "horizon":25.0, "length":5.0, "productId":"0fa2dd6d-6b0c-4bfd-998b-e0b50ee64481", "weight":353.429, "isVariable":false, "isBackfill":false }, { "number":2, "horizon":20.0, "length":5.0, "productId":"f3fb75ac-1065-4d9c-bd6a-fdf01c34837b", "weight":0.0, "isVariable":false, "isBackfill":false }, { "number":3, "horizon":15.0, "length":5.0, "productId":"5800171c-e16e-48e7-9431-ac9b88f4852f", "weight":441.786, "isVariable":false, "isBackfill":false }, { "number":4, "horizon":10.0, "length":5.0, "productId":"f3fb75ac-1065-4d9c-bd6a-fdf01c34837b", "weight":0.0, "isVariable":false, "isBackfill":false }, { "number":5, "horizon":5.0, "length":5.0, "productId":"0fa2dd6d-6b0c-4bfd-998b-e0b50ee64481", "weight":353.429, "isVariable":false, "isBackfill":false }, { "number":6, "horizon":0.0, "length":5.0, "productId":"5800171c-e16e-48e7-9431-ac9b88f4852f", "weight":441.786, "isVariable":false, "isBackfill":false } ], "diameter":300.0, "length":30.0, "x":-194.97681394419092, "y":67.241148799992772, "z":0.0, "whenCreated":"2020-01-28T02:04:07.6143372Z" }, "actual":{ "angle":null, "bearing":null, "calculatedDecks":[], "comment":null, "depthToWater":null, "diameter":null, "expectedDeckCount":null, "length":null, "accessories":[], "measuredDecks":[], "notDrilled":false, "userName":null, "x":null, "y":null, "z":null }, "drillAdjustedDesign":null, "drillActual":null, "holeType":"Hole type 1", "materialType":null, "isDeleted":false, "isNonDesignedHole":false, "allowTruncatedDesign":false, "disableChangeDesignRules":false, "scaleDepthOfBurial":null, "strataIntercepts":{}, "tags":["drilling_designed","loading_designed"], "whenCreated":"2020-01-28T01:51:43.4065706Z", "whenUpdated":"2020-01-28T01:51:43.4065706Z" }
But am currently getting this error:
QuoteJSONtext.lvlib:JSON text to Variant.vi:4410001<ERR>
State: Parser Error
Near: ':nu'
in '"2020-01-28T02:04:07.6143372Z"},"actual":{"angle":null,"bearing":null,"calculatedDecks":[],"comment":null,"depthToWater":null,"diameter":null,"expectedDeckCount":null,"length":null,"accessories":[],"me'
<b>Complete call chain:</b>
JSONtext.lvlib:JSON text to Variant.vi:4410001
JSONtext.lvlib:JSON text to Variant.vi:4410003
Parse Hole JSON.vi
[CR] JSONtext
in Code Repository (Certified)
Posted
@drjdpowell Any plans to include a "Set Null to Default" feature?