复杂JSON结构

Complex JSON Structure

本文关键字:结构 JSON 复杂      更新时间:2023-09-26

我正在处理前端开发(AngularJS),而不是从后端拉数据(这是不完整的,但呈现一切JSON),我正在寻找只是使用硬编码JSON。

然而,我是新手,似乎找不到任何关于复杂JSON结构的东西。从基本意义上说,我的web应用有用户和他们创建的内容。因此,在我的脑海中,将有两个数据库,但我不确定我是否正确地接近它。

  1. 用户-用户名,位置,创建的内容,评论等

    "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"
                }
            ],
        }
    ]
    
  2. 已创建的内容-标题,描述,用户名,评论等

    "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 vs. REST?在这里重要吗?据我所知,REST意味着上面的每个对象都是具有自己唯一URI的资源。那么JSON呈现会受到影响吗?)我真的不确定。但最终,我需要使用JSON结构正确地将数据拉入我的前端。假设,无论所说的结构是什么,都将在后端被镜像和呈现。

谢谢大家的回复。我想我的问题中有一部分,就是我澄清"复杂"的地方,遗漏了。所以我想解释一下。不仅仅是JSON本身,我指的是数据的结构。例如,在我的示例中,我将数据结构化,使其都位于两个唯一对象(用户和内容)之下。这是正确的吗?或者我应该考虑我的数据更多样化?例如,从技术上讲,我可以有一个评论数据库(其中每个评论都是主要对象)。还是在我的数据集中仍然隐含着?也许我的问题甚至不是关于JSON,而是关于JSON中呈现的数据结构。希望这能澄清我所说的复?

感谢大家的帮助。

我不知道你为什么要把似乎是对象的东西变成单项数组(如开始的方括号所示)。除此之外,我觉得挺好的。一般来说,单个项目(如"User")被结构为对象,而多个项目是对象的数组。

至于Angular的东西,如果你想直接从JSON文件中拉出来作为测试,看看这里:

var services = angular.module('app.services', [])
services.factory('User', function($http) {
    var User = function(data) { 
        return data;
    }
    User.findOne = function(id) {
        return $http.get('/test_user.json').then(function(response) { 
            return new User(response.data); 
        });
    };
    return User;
});

我还建议在没有访问实时数据服务的情况下进行开发时查看部署。