Changes between Version 8 and Version 9 of MapGuideRfc25
- Timestamp:
- 08/09/07 14:10:36 (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc25
v8 v9 23 23 == Overview == 24 24 25 JSON ( http://www.json.org) will be used to provide a lightweight data-interchange format between the web tier and any clients for requests that can currently return XML responses.25 JSON ([http://www.json.org]) will be used to provide a lightweight data-interchange format between the web tier and any clients for requests that can currently return XML responses. 26 26 27 27 == Motivation == … … 42 42 43 43 1) The !MgJsonDoc Class [[BR]] 44 - !MgJsonDoc is a wrapper over the jsoncpp implementation. !MgJsonDoc provides many easy-to-use interfaces, such as Begin* and End*, for creating JSON documents from an XML perspective. For example, to create a s JSON document for the corresponding XML content---<Node>Text</Node>---, one would call !BeginObject("Node"), !SetValue("Text"), and !EndObject() subsequently.44 - !MgJsonDoc is a wrapper over the jsoncpp implementation. !MgJsonDoc provides many easy-to-use interfaces, such as Begin* and End*, for creating JSON documents from an XML perspective. For example, to create a JSON document for the corresponding XML content, {{{<Node>Text</Node>}}}, one would call !BeginObject("Node"), !SetValue("Text"), and !EndObject() subsequently. 45 45 46 46 2) The !MgXmlJsonConvert Class [[BR]] … … 89 89 # !GetVisibleMapExtent (1) [[BR]] 90 90 91 where the appended labeling scheme indicates the different implementation considerations: 92 (1) Web-tier changes -- every !ToXml function is matched with an !ToJson function implementation that creates a JSON document in place ,[[BR]]91 where the appended labeling scheme indicates the different implementation considerations: [[BR]] 92 (1) Web-tier changes -- every !ToXml function is matched with an !ToJson function implementation that creates a JSON document in place. [[BR]] 93 93 (2) Web-tier changes -- utilizes the !MgXmlJsonConvert class to convert XML documents to JSON documents. [[BR]] 94 94 (3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API call; the !MgXmlJsonConvert class is used if format equals to the JSON MIME type. [[BR]] 95 (4) Server changes -- an extra API has been added matching the respective API call (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and !GetFDOCacheInfo has !GetFDOCacheInfoAsJson as its JSON specific implementation); this is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation; and for the affected APIs, the !MgByteReader* is returned instead.95 (4) Server changes -- an extra API has been added matching the respective API call (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and GetFDOCacheInfo has GetFDOCacheInfoAsJson as its JSON specific implementation); this is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation; and for the affected APIs, the !MgByteReader* is returned instead. 96 96 97 97 == Implications ==