2016-05-16 87 views
-5

請提供建議!需要Android/iOS/JSON建議

我即將開始編寫一個C#Web Forms應用程序,它將在SQL數據庫中以JSON格式嚴格存儲表單數據(即文本框,下拉列表和值,它們在窗體中的位置,默認值等)。然後,這個JSON數據將通過應用程序(Android/iOS)的API調用,然後將所述JSON呈現到設備上的表單中,以便用戶完成。然後他們將通過另一個API端點提交完成的表單,並將其存儲在數據庫中。

所以,

1)這項工作?我非常不熟悉JSON,iOS和Android開發 2)有沒有更好的方法來做到這一點?

任何意見讚賞!

亞當

回答

2

亞當·帕克,

我相信你已經完全誤解了JSON,API和移動平臺,如Android和iOS :)概念

我很熟悉JSON

您必須瞭解JSON本身不是一項技術。 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。

這只是表示鍵值對中數據的另一種方式。是什麼讓如此JSON是speacial,這是很容易通過機器來創建它,這是非常容易的不僅僅是machienes而是由人類以及:)

JSON是語言和平臺無關:)

讀他們

讓我舉個例子:)

{ 
    "name": "Adam Parker", 
    "age": 25 
} 

以上是有效的JSON。現在在這個名字和年齡都是關鍵:)現在關鍵名稱的價值是亞當帕克和價值的關鍵年齡是25.

現在無論用什麼語言生成這個JSON可能是JAVA,Objective C或Android它將永遠是一樣的。

數據將SQL數據庫

你必須明白JSON是不是最喜歡的MySQL相關數據庫的支持premitive數據類型的一個內被保存在JSON格式。

如果你對將JSON保存在RDBMS中很倔強,那麼你將被迫將JSON字符串保存在表列中的某一列中。很明顯,如果你問我,最糟糕的方式就是這麼做。

JSON應該由服務器(API)通過訪問數據庫表的各個字段來構建。

例如:假設我有一個名爲users的數據庫表,它有兩個列名和年齡。

 name   | age 
     Adam Parker  25 

現在,爲了構建上述JSON生病讀表的用戶的姓名和年齡的Fileds,並根據所語言構建JSON我使用:)

例如JAVA

JSONObject obj = new JSONObject(); 
obj.put("name", "Adam Parker"); 
obj.put("age", new Integer(25)); 

不要以爲這是一個JAVA JSON對象,所以不會被其他語言理解。如果你打印obj的描述,你會看到所有平臺上的普通JSON :)

這個工作嗎?

是的。這就是編寫API的目的。 API旨在提供優選稱爲服務器和客戶端的兩個設備之間的通信。

這些服務器和客戶端可能會或可能不會對同一platform.So的API用於跨平臺跨opearbility :)

現在,這些API的應該可以的differrent平臺,所以他們必須使用兩個設備之間進行通信俗稱數據表示和JSON就是這樣一個代表tahts所有:)

你可能求索使用XML以及:)

我很熟悉iOS和Android開發

如果你只是一個API開發人員,你不需要知道任何其他平臺,那麼你就可以在你的情況下用C#開發API本身。

有沒有更好的方法來做到這一點?

可能是,如果你能找出多少全球公認的,仰慕的數據表示格式,那麼JSON和XML :)

希望我做我的觀點明確:) Hapy編碼好友:)

+0

感謝您詳細的回覆!因此,如果我將數據存儲在數據庫中,最好的方法可能是在1:Many關係上創建一個「Forms」表和一個「FormFields」表,然後根據該表生成結構? 理想的終點是我們將表單及其字段,默認值,位置(等)添加到數據庫中,然後這些字段可以由移動設備上的應用動態呈現。對Android/iOS開發知之甚少 - 我希望有人能夠澄清,接受JSON(或者你提到的XML)是否足以做到這一點? –

+0

是的:)每個表單都有表單字段,這些表單字段的數據將由移動設備動態呈現:)對於每個字段,值應由您的端點API以JSON或XML的形式提供。我不知道你的意思是表格和表格字段表嗎?每個人在你的數據庫中形成一個實體嗎?如果是,那麼你的方法是正確的。請在跳入API本身的開發之前設計您的RDBMS方案。 –

+0

Lemme解釋:)在上面的例子中看到用戶是一個以dB爲單位的實體而不是包含用戶名和年齡的註冊表單:)表單通常呈現表單字段,並且這些表單字段值被插入到dB中,因此對於上表,一個表單可能包含名稱和年齡,因爲它是表單字段,但形式本身並不是db中的實體。實體可以假定爲真實世界對象,如用戶形式不是真實世界的實體。如果你仍然沒有得到它,我強烈建議你在跳轉到開發API之前閱讀RDBMS模式設計和規範化的基礎知識:) –