OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-879) Support Arrays of Arrays


    [ https://issues.oasis-open.org/browse/ODATA-879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61187#comment-61187 ] 

Ralf Handl edited comment on ODATA-879 at 11/2/15 1:27 PM:
-----------------------------------------------------------

JSON responses always are objects, so we could place the annotations in the outermost object and use JSON Pointer index notation (see ODATA-820)

{
  "@odata.context":"$metadata#Collection(Collection(Edm.String))",
  "value":[["foo1","bar1"],["foo2","bar2"]],
  "value/0/0@Some.Remark":"Annotation on cell containing foo1",
  "value/1@Some.Remark":"Annotation on second inner array with foo2 and bar2"
}



was (Author: handl):
JSON responses always are objects, so we could place the annotations in the outmost object and use JSON Pointer index notation (see ODATA-820)

{
  "@odata.context":"$metadata#Collection(Collection(Edm.String))",
  "value":[["foo1","bar1"],["foo2","bar2"]],
  "value/0/0@Some.Remark":"Annotation on cell containing foo1",
  "value/1@Some.Remark":"Annotation on second inner array with foo2 and bar2"
}


> Support Arrays of Arrays
> ------------------------
>
>                 Key: ODATA-879
>                 URL: https://issues.oasis-open.org/browse/ODATA-879
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData CSDL, OData JSON Format
>    Affects Versions: V4.0_ERRATA02
>            Reporter: Michael Pizzo
>            Assignee: Michael Pizzo
>             Fix For: V4.01_WD01
>
>
> There are scenarios where it's convenient to represent something as an array of arrays. In JSON this would look as:
> [["foo1","bar1"],["foo2","bar2"]]
> or
> [[{"foo":"foo1"},{"bar":"bar1"}],[{"foo":"foo2"},{"bar":"bar2"}]]
> Currently services must represent these as arrays of complex types that have array properties. In JSON, the result looks like:
> [{"value":["foo1","bar1"]},{"value":["foo2","bar2"]}]
> or
> [{"value":[{"foo":"foo1"},{"bar":"bar1"}]},{"value":[{"foo":"foo2"},{"bar":"bar2"}]}]
> If we are trying to make JSON representation as close as possible to a custom representation we would need to support the former syntax (without the "value" objects).
> One problem with arrays of arrays in JSON is that we don't have a way to annotate the (array) items within the array. For example, we couldn't add count, nextLink, etc. for the inner arrays..



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]