簡體   English   中英

復雜的JSON結構

[英]Complex JSON Structure

我要處理前端開發(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與REST?這有關系嗎?據我所知,REST意味着上面的每個對象都是具有自己唯一URI的資源?因此,渲染的JSON是否會受到影響?)。 我真的不確定。 但最終,我需要使用JSON結構將數據正確提取到前端。 大概,無論上述結構如何,都將在后端進行鏡像和渲染。

編輯*謝謝大家的答復。 我認為我的問題的一部分(我在這里澄清“復雜”的內容)丟失了。 所以我想解釋一下。 我猜比JSON本身還多,我的意思是數據的結構。 例如,在我的示例中,我將數據構造為全部位於兩個唯一對象(用戶和內容)之下。 這個對嗎? 還是應該考慮我的數據更加多樣化? 例如,從技術上講,我可以有一個注釋數據庫(每個注釋都是主要對象)。 還是我的數據集中仍然暗示着這一點? 也許我的問題甚至與JSON無關,而不僅僅是以JSON呈現的數據結構。 希望這可以弄清楚我所說的復雜嗎?

任何和所有幫助表示贊賞。

我不確定為什么要將似乎是對象的對象放入單項數組(如左方括號所示)。 除此之外,對我來說還不錯。 一般來說,單個項目(如“用戶”)被構造為一個對象,而多個則是對象的數組。

至於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;
});

我還建議考慮部署部署,以進行開發而無需訪問實時數據服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM