TDI lets you create a JSON string from an Entry type object using that class's toJSON() method. It works like a champ UNLESS you happen to have a property that is an array with a single element, like this:
entry = system.newEntry()entry.foobar = [ "0" ];task.logmsg(entry.toJSON());
That will produce the following string:
{ "foo":"0" }
Whereas it should produce:
{ "foo" : [ "0" ] }
If you have two or more elements in the array, it works perfectly.
To fix the issue, I used the following code:
goodString = entry.toJSON().replace('"foobar":"0"','"foobar":["0"]');
And now everything is good. Whew!
No comments:
Post a Comment