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