Restrictions and Limitations

  • Primitive arrays support the following data types – String, Integer, Boolean, Double, Long, and Property Set. Integer, Boolean, Double, and Long values are stored internally as strings.
  • Do not set the SingleRecordAsJSONObject property when using a primitive array. The following configuration is not supported because it specifies both datatype and SingleRecordAsJSONObject:
    accPS.SetType("Color");
    
              accPS.SetProperty("datatype", "jsonprimarray");
    
              accPS.SetProperty("SingleRecordAsJSONObject", "true");
    
              accPS.SetElement("blue");
     accPS.SetElement("green");
  • Primitive elements are not supported in Avro schemas. You cannot define or publish primitive array elements in an Avro schema.
  • In the old Siebel payload format, a JSON array that contains only a single JSON object is converted to a JSON object and not an array. For example:
    • Example 1:

      Input: { "array": [{ "key1": "value1" }] }

      Output: { "array": { "key1": "value1" } }

      In the above example, in the input the value is an array containing the JSON object {"key1":"value1"}. In the output, the array wrapper is removed, and only the JSON object is returned.

    • Example 2:

      Input: {"array":[[["1","2","3"]],[{"key":"value"}]]}

      Output: {"array":[[["1","2","3"]],{"key":"value"}]}

      In the above example, the array associated with the key-value pair that contains a JSON object is removed from the output. However, arrays that contain primitive values are retained unchanged.

    • Example 3:

      Input: {"array":[[{"key1":"value1"},{"key2":"value2"}]]}

      Output: {"array":[[{"key1":"value1"},{"key2":"value2"}]]}

      In the above example, the array contains two JSON elements. As a result, the array structure is retained in the output because multiple JSON elements are always represented and stored as an array.