我正在解决前端开发(AngularJS),而不是从后端拉数据(这是不完整的,但呈现到JSON的一切),我期待只使用硬编码的JSON。复杂的JSON结构
但是,我对此并不熟悉,似乎无法找到任何有关复杂JSON结构的内容。从基本意义上讲,我的网络应用程序拥有用户和他们创建的内容。所以,在我看来,会有两个数据库,但我不确定我是否正确接近它。
用户 - 用户名,位置,创建的内容,注释等
"user": [ { "userID": "12", "userUserName": "My Username", "userRealName": "My Real Name", "mainInterests": [ { "interest": "Guitar" }, { "interest": "Web Design" }, { "interest": "Hiking" } ], "userAbout": "All about me...", "userComments": [ { "comment": "this is a comment", "contentID" : "12" }, { "comment": "this is another comment", "contentID" : "123" } ], } ]
创建的内容 - 标题,描述,用户名,注释等
"mainItem": [ { "mainID": "1", "mainTitle": "Guitar Lessons", "mainCreatorUserName": "My Username", "mainCreatorRealName": "My Real Name", "mainTags": [ { "tag": "Intermediate" }, { "tag": "Acoustic" }, { "tag": "Guitar" } ], "mainAbout": "Learn guitar!", "mainSeries": [ { "videoFile": "file.mov", "thumbnail": "url.jpg", "time": "9:37", "seriesNumber": "1", "title": "Learn Scales" }, { "videoFile": "file.mov", "thumbnail": "url.jpg", "time": "8:12", "seriesNumber": "2", "title": "Learn Chords" } ], "userComments": [ { "comment": "this is a comment", "userID" : "12" }, { "comment": "this is another comment", "userID" : "123" } ] } ]
而且还有更多的复杂性,但我只是想明白,如果我正在接近这个权利。也许我甚至完全不正确地处理这个问题(例如,CRUD与REST?这里有什么关系吗?据我了解,REST意味着上述每个对象都是具有自己唯一URI的资源?因此,JSON会受到影响?)。我真的不确定。但最终,我需要使用JSON结构将数据正确地拉到我的前端。据推测,无论何种结构将在后端进行镜像和渲染。
编辑*谢谢你们的答复。我想我的问题的一部分,我澄清“复杂”,缺少。所以我想解释一下。我想比JSON本身更多,我的意思是数据的结构。例如,在我的例子中,我将数据结构化为两个唯一对象(用户和内容)下的所有数据。它是否正确?还是应该考虑我的数据更多样化?例如,技术上我可以有一个评论数据库(每个评论都是主要对象)。或者这仍然隐含在我的数据集中?也许我的问题甚至不是JSON的问题,而是JSON中呈现的数据结构。希望这能说明我的意思是复杂吗?
任何和所有的帮助表示赞赏。
所有[** JSON **](https://developer.mozilla.org/en/docs/JSON)都是有效的_JavaScript_(因此_JSON_中的_JS_)。这是一种书写方式(_Object_文字的一个子集)。每个键都应该有一个值,每个值应该是另一个_Object_,_Array_,_Number_,_String_,'true','false'或'null'(希望我没有忘记)。 _JSON_中的_Array_中的每个项目也必须是其中的一个。那么,“复杂”是什么意思? –
结构看起来不错。如果您尝试返回所有用户评论,并且出现了很多问题,则会发生一些问题。你对REST和URI是正确的。您发布的用户示例将具有类似以下内容的URI:http:// yourdomain/users/12。 “用户”只是一个项目,所以我会删除'[''user'之后:' –
您可能想查看[AngularJS book](http://shop.oreilly。com/product/0636920028055.do)由Brad Green和Shyam Seshadri提供。 “与服务器通信”一章非常好,并且会为您提供有关如何实现用于处理数据的模型/服务的想法。 – ChrisP