JSON-P DB

This project is abandoned. I would suggest something like.. getcloudkit.com or OpenKeyval. thxx! ~paul irish. 2011.10.20

JSON-P DB utilizes Google App Engine's datastore in order to provide a persistent warehouse for arbitrary JSON objects that are made easily accessible from client-side javascript code via JSON-P.

API

Storing data

http://jsonpdb.appspot.com/add?storeKey=jsonObj&callback=callbackFunc Example: http://jsonpdb.appspot.com/add?myFoo={"foo":"bar","baz":9}&callback=func Response: func('agNpZWRyDQsSB2NvbnRhY3QYAQw'); (item key is unique to this object)

Retrieve by item key

http://jsonpdb.appspot.com/get?storeKey=itemKey&callback=callbackFunc Example: http://jsonpdb.appspot.com/get?myFoo=agNpZWRyDQsSB2NvbnRhY3QYAQw&callback=func Response: func({"foo":"bar","baz":9});

Retrieve all items by storeKey

Pass an empty object.

http://jsonpdb.appspot.com/get?storeKey={}&callback=callbackFunc Example: http://jsonpdb.appspot.com/get?myFoo={}&callback=func Response: func([{"foo":"bar","baz":9},{"foo":"bar2","baz":10}]);

Retrieve specific items by query and storeKey

Pass an object that to match against.

http://jsonpdb.appspot.com/get?storeKey=jsonObjToMatch&callback=callbackFunc Example http://jsonpdb.appspot.com/get?myFoo={"foo":"bar2"}&callback=func Response: func([{"foo":"bar2","baz":10}]);

Demo

Create an object
Store your object:
Response:
Retrieve your object by key:
Response:
Retrieve all objects of a specific type:
Response:
Retrieve based on criteria:
Response:

Did we mention... ?

  1. Anyone can access this datastore. That means that anyone can read the objects you've created as long as they know your object's name.
  2. The name of the first parameter of the GET request must always be the object's storeKey.
  3. storeKey's should be alphanumberic, but . is also allowed
  4. Querying for a set of objects will only work on that object's 1st level parameters. That means that if you have an object named "contact" you can search based on contact.country but NOT contact.country.city
  5. The amount of data is limited by how long the URL can be. This varies by browser.

So what?

You could use this as...

Who?

Debug:

View the contents of: