I cannot set a JSON property to null in untyped scripting languages

XMLWordPrintable

    • Type: Bug Report
    • Resolution: Unresolved
    • Priority: L3 - Default
    • None
    • Affects Version/s: None
    • Component/s: spin
    • None

      In Javascript (and probably any other untyped scripting language), there is no way to set a JSON property to null using Spin. For example, this fails:

      node = S(input, "application/json");
      node.prop("order", null);
      

      with the error:

      Can't unambiguously select between fixed arity signatures [(java.lang.String, org.camunda.spin.json.SpinJsonNode), (java.lang.String, java.lang.Boolean), (java.lang.String, java.lang.String), (java.lang.String, java.util.Map), (java.lang.String, java.util.List), (java.lang.String, java.lang.Number)] of the method org.camunda.spin.impl.json.jackson.JacksonJsonNode.prop for argument types [java.lang.String, null]
      

      Apparently, some scripting engines have more or less ugly extensions to explicitly select a method. For example, in Nashorn, the problem can be worked around as follows:
      node["prop(String, String)"]("order", null);

            Assignee:
            Unassigned
            Reporter:
            Thorben Lindhauer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: