Export (0) Print
Expand All
0 out of 1 rated this helpful - Rate this topic

2.2.6.3.1 Common Verbose JSON Serialization Rules for All EDM Constructs

Literal values of the Entity Data Model (EDM) primitive types are represented as Verbose JSON literal values, as defined by the rules in the following Common Verbose JSON Serialization Rules for All EDM Constructs table. Grammar rules not defined here are specified in [RFC5234], [RFC4627], or both.

EDM primitive type

ABNF rule for primitive type representation in Verbose JSON payloads

Verbose JSON serialization format (ABNF grammar)

null

nullLiteral

nullLiteral        = "null"

Edm.Binary

VJsonBinary

VJsonBinary = quotation-mark 
<Base64 encoded value of the EDM.Binary  
              property represented as a JSON string.   
              See [RFC4627] for further details> 
quotation-mark

Edm.Boolean

VJsonBoolean

VJsonBoolean = false / true 
 
false       = ; see [RFC4627] section 2.1 
 
true        = ; see [RFC4627] section 2.1

Edm.Byte

VJsonByte

VJsonByte    = ; see the byteLiteral rule in  
              ; section 2.2.2 

Edm.DateTime

VJsonDateTime

VJsonDateTime= quotation-mark  
              "\/Date(" 
              ticks
              [("+" / "-") offset]
              ")\/" 
              quotation-mark 
 
ticks       = *DIGIT 
 
; ticks is the number of milliseconds since midnight  
; January 1, 1970 

offset      = 4DIGIT
; offset represents the number of minutes to add (if preceded by "+") or substract
(if preceded by "-") from the time value represented by ticks
; if no offset is specified, the value MUST be interpreted as UTC.

;Note: This format is the same used by the ASP.NET 
;AJAX framework, described in http://msdn2.microsoft.com/en-;us/library/bb299886.aspx

Edm.Decimal

VJsonDecimal

VJsonDecimal     = quotation-mark  
                  decimalLiteral  
                  quotation-mark 
 
decimalLiteral  = ; see section 2.2.2    

quotation-mark  = ; see [RFC4627] section 2.5

Edm.Double

VJsonDouble

VJsonDouble      = doubleLiteral
 
doubleLiteral   = ; see section 2.2.2

Edm.Guid

VJsonGuid

VJsonGuid        = quotation-mark  
                  guidLiteral
                  quotation-mark            
 
guidLiteral    = ; see section 2.2.2

Edm.Int16

VJsonInt16

VJsonInt16    = ; see int16Literal in section 2.2.2

Edm.Int32

VJsonInt32

VJsonInt32    = ; see int32Literal in section 2.2.2

Edm.Int64

VJsonInt64

VJsonInt64    = quotation-mark  
               int64Literal  
               quotation-mark   
 
int64Literal = ; see section 2.2.2

Edm.SByte

VJsonSByte

VJsonSByte    = ; see sByteLiteral in section 2.2.2

Edm.Single

VJsonSingle

VJsonSingle      = singleLiteral
 
singleLiteral   = ; see section 2.2.2

Edm.String

VJsonString

VJsonString = string  
 
string     =  ; see [RFC4627] section 2.5

Edm.Time

VJsonTime

VJsonTime        = quotation-mark
                  timeLiteral
                  quotation-mark

timeLiteral     = ; see section 2.2.2

Edm.DateTimeOffset

VJsonDateTimeOffset

VJsonDateTimeOffset =  VJsonDateTime
; offset is required

Edm.Stream

N/A

namedStreamInVJson= see section 2.2.6.3.14

Edm.Geography

N/A

N/A

Edm.GeographyPoint

pointVJsonLiteral

pointVJsonLiteral = <See [GeoJSON] representation for a Point>

Edm.GeographyLineString

lineStringVJsonLiteral

lineStringVJsonLiteral = <See [GeoJSON] representation for a LineString>

Edm.GeographyPolygon

polygonVJsonLiteral

polygonVJsonLiteral = <See [GeoJSON] representation for a
Polygon, except as modified below>

In Ellipsoidal coordinates, all rings are equally
interpretable as “outer”. Therefore, the rings MUST have
their control points in left-foot winding order. This means
that the points to the left side of the ring, when traversing in serialized
order, are in the polygon,
while those to the right side are not.

In planar coordinates, where “outer” is well defined, the
first ring MUST be the outer ring, in accordance with the
JSON standard.

Edm.GeographyCollection

geoCollectionVJsonLiteral

geoCollectionVJsonLiteral = <See [GeoJSON] representation for a GeometryCollection>

Edm.GeographyMultiPoint

multiPointVJsonLiteral

multiPointVJsonLiteral = <See [GeoJSON] representation for a MultiPoint>

Edm.GeographyMultiLineString

multiLineStringVJsonLiteral

multiLineStringVJsonLiteral = <See [GeoJSON] representation for a MultiLineString>

Edm.GeographyMultiPolygon

multiPolygonVJsonLiteral

multiPolygonVJsonLiteral = <See [GeoJSON] representation
for a MultiPolygon, as modified below> 

In Ellipsoidal coordinates, all rings are equally
interpretable as “outer”. Therefore, the rings MUST have
their control points in left-foot winding order. This means
that the points to the left side of the ring, when
traversing in serialized order, are in the polygon,
while those to the right side are not.

In planar coordinates, where “outer” is well defined, the
first ring MUST be the outer ring, in accordance with the
 JSON standard.

Edm.Geometry

N/A

N/A

Edm.GeometryPoint

pointVJsonLiteral

N/A

Edm.GeometryLineString

lineStringVJsonLiteral

N/A

Edm.GeometryPolygon

polygonVJsonLiteral

N/A

Edm.GeometryCollection

geoCollectionVJsonLiteral

N/A

Edm.GeometryMultiPoint

multiPointVJsonLiteral

N/A

Edm.GeometryMultiLineString

multiLineStringVJsonLiteral

N/A

Edm.GeometryMultiPolygon

multiPolygonVJsonLiteral

N/A

Table: Common Verbose JSON Serialization Rules for All EDM Constructs

 
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.