rest/json: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(→‎Proposals: JSON Path, Query)
Line 29: Line 29:


== Proposals ==
== Proposals ==
* [[rest/urls]]
* [[rest/urls]]
* [[rest/json-collections]]
* [[rest/json-collections]]
* [http://goessner.net/articles/JsonPath/ JSON Path]
* [http://goessner.net/articles/JsonPath/ JSON Path]
* [http://www.sitepen.com/blog/2008/07/16/jsonquery-data-querying-beyond-jsonpath/ JSON Query]
* [http://www.sitepen.com/blog/2008/07/16/jsonquery-data-querying-beyond-jsonpath/ JSON Query]
* [http://www.sitepen.com/blog/2008/06/17/json-referencing-in-dojo/ JSON Referencing]
* [http://www.sitepen.com/blog/2008/06/17/json-referencing-in-dojo/ JSON Referencing]
* [http://www.json.com/specifications/json-resources/ JSON Resources]
* [http://www.json.com/specifications/json-resources/ JSON Resources]
* [http://groups.google.com/group/restful-json/browse_thread/thread/8c33618df87d85f8 HyperJSON]
* [http://groups.google.com/group/restful-json/browse_thread/thread/b3e8aa78052f67f1# HyperJSON Path Expressions]
* [http://www.subbu.org/blog/2008/10/generalized-linking Generalized JSON Linking]


== Issues ==
== Issues ==

Revision as of 22:25, 5 November 2008

RESTful JSON

Charter

Given that:

  • REST is a powerful architecture for scalable web services
  • JSON is a lightweight container for exchanging data
  • AtomPub, while RESTful, requires XML documents with strict metadata requirements

The goal of the RESTful JSON project is to develop a series of conventions for:

  • URLs
  • HTTP methods
  • HTTP headers
  • JSON fields

that:

  1. is maximally compatible with existing (RESTful, generic) clients
  2. enables partial updates
  3. allows paging and/or partial returns of large datasets
  4. standardizes linking to related resources
  5. defines a generic query syntax
  6. uses hypermedia (links + context) to manage application state
  7. does NOT become a full-fledged RPC solution

Resources

Proposals

Issues

  • Is the top-level entity a simple array (Persevere, Dojo) or a full-fledged object (CouchDB, ActiveRecord?)

Implementations