Storing JS arrays and objects in a database

丶灬走出姿态 提交于 2019-12-10 18:07:23

问题


I have an application that lets users build things in JS. I want the user to be able to save the current state of his work to reuse it or share it, but what he has is a collection of JS objects stored in a JS array, with very different properties (color, label, x/y position, size, etc.).

SQL seems terrible for that particular task, forcing me to maintain tables for every different object, and alas I know very little about NoSQL database. What tools would you use to perform this ? MongoDB sounds promising but before I learn a whole new DB paradigm I want to be sure that I am heading in the right direction.


回答1:


Object to string:

You can store your objects in the DB as a JSON string. Here's a simple example:

var foo = new Object();
foo.Name = "James";
foo.Gender = "Male";

//Result: {"Name":"James","Gender":"Male"}
var stringRepresentation = window.JSON.stringify(foo);

Here's a working fiddle.

String to object:

To convert your string back to an object, simply call window.JSON.parse():

var myObject = window.JSON.parse(stringRepresentation);

Here's a working fiddle.




回答2:


If you have no interest in quering the objects for their various properties but only persist them to save state, you can serialize the entire array to JSON and store it in any db you like as one string.




回答3:


What's on the server?

Most languages have mature JSON implementations that convert JavaScript objects to native types, which you can then easily store in a SQL database.



来源:https://stackoverflow.com/questions/7966388/storing-js-arrays-and-objects-in-a-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!