在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在客戶端與服務器端采用JSON數據交換格式實現框架設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-08-29 08:00 ? 次閱讀

1 引言

隨著無線技術的發展和無線通信設備的普及,基于手機、PDA等小型消費類和嵌人式設備的無線移動應用越來越廣泛。在可編程手機中,基于Java的手機最為通行,事實上,Java已為多數手機制造商所接受,成為手機應用與服務的標準。構建網絡感知軟件時,選擇正確的數據交換格式是一項重要的設計決策,尤其在設計移動和嵌入式應用程序時,此時,輕量和有效等特性是需要考慮的重要特征。此類特征非常重要,因為它們可轉化為較低的計算要求和功耗使用、能發揮更好的性能以及較低的運營成本。這里研究JSON數據交換格式相比XML和傳統數據交換格式所具有的優勢,并提出在客戶端(J2ME)與服務器端(J2EE)之間采用JSON數據交換格式的一般實現框架。

2 J2ME/J2EE簡介

J2ME(Java 2 Platform. MICRO Edition)是Java 2的一部分。將Java語言與平臺無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。J2ME是針對有限硬件、有限功率、有限網絡連接設備進行應用開發的技術,適合在無限通信設備上開發交互性較強的網絡應用。在此基礎上編寫的MIDP應用程序具有良好的兼容性和可移植性,可在PDA等手持設備上很好的運行。

J2EE是Java 2平臺的企業版,是一種利用Java 2平臺簡化企業解決方案的體系結構。J2EE使用多層分布應用模型,其典型的4層結構為:①運行在客戶端機器上的客戶層組件,如Web瀏覽器、Java Applet等;②運行在J2EE服務器上的Web層組件,如Servlet和JSP;③運行在J2EE服務器上的業務邏輯層組件(EJB);④運行在EJS(Enterprise Information System)服務器上的企業信息系統層軟件。

3 JSON簡介

JSON(JavaScript. Object Noation)是一種輕量級的數據交換格式,易于閱讀和編寫,也易于機器解析和生成。JSON采用完全獨立于語言的文本格式,但也使用類似于C語言家族的習慣。這些特性使JSON成為理想的數據交換語言。

JSON格式的數據有對象和數組兩種。對象是一個無序的“名稱/值”對集合。一個對象以“{”開始,“}”結束。每個“名稱”后跟一個“:”;“名稱/值”對之間使用“,”分隔。數組值(value)的有序結合。一個數組以“{”開始,“}”結束。值之間使用“,”分隔。

4數據交換格式分析

XML是一種用于描述信息存儲格式的語言,其優點是健壯性和描述性強,且是新一代開放、可互操作的Web Services選用的通信數據格式。在移動應用程序中,開發者通常自己創建數據交換格式或可擴展標記語言XML。前者的優勢是可針對特定情況進行調整,從而最大限度地提高性能,并最大限度地利用計算資源。當在HTTP上使用后者時,其優勢在于它是事實上的數據交換標準。另外,在XML中使用的基于文本的表示形式使其易于調試。這兩種方法各有其缺陷,前者本質上是專用的、非標準的,并可能是不可互操作的,而后者數據表示過于正規和繁瑣,對于移動和嵌入式應用程序尤其如此。

JSON是一種輕量級的數據交換格式,是基于文本的,具有良好的可讀性且易于調試。JSON支持所有基本數據類型的表示法,并提供將這些數據類型相互解析為Java類型的方法。對于輕量級應用,JSON數據交換格式能夠較好的節省手機的計算資源,減少網絡傳輸時間,加快網絡傳輸速度。

5 數據交換框架實現

5.1 框架總體設計

框架結構包括2部分:J2ME客戶端和J2EE服務器端。客戶端采用J2ME的MIDP技術,服務器端使用J2EE的servlet技術。客戶端使用HTTP協議發送已序列化的JSON消息到服務器端,服務器端通過反序列化JSON消息,根據客戶端請求進行相應的操作后,把請求的結果序列化成JSON消息返回給客戶端,客戶端獲取到返回的JSON消息后,反序列化成具體需要的數據。圖1為總體設計框架。

如何在客戶端與服務器端采用JSON數據交換格式實現框架設計

5.2 服務器端

服務器端使用serverlet接收客戶端發送的基于HTTP協議的JSON消息,并調用JSONObject類對JSON進行反序列化操作,得到所需的詳細信息。根據JSON格式的數據類型,需要分3種情況對JSON格式的數據進行反序列化:①簡單的對象形式。實現方法:創建一個JSONObiect實例,然后調用getString()函數,具體形式如下:JSONObject jsonObj=newJSONObject(message);String title=jsonObj.getString(“title”);其中message為接收到的JSON消息,title代表想要獲取的名稱。②對象里面嵌套對象的形式。實現方法:在原對象基礎上調用其getJSONObject()方法。具體形式如下:JSONObjectbody_obj=jsonObj.getJSONObject();③數組形式。實現方法:在原對象的基礎上調用其getJSONArray(),得到一個數據類型為JSONOebject的數組。反序列化得到請求的詳細信息后,J2EE端根據請求進行其他操作,如從網絡上獲取XML數據、從數據庫獲取數據等。得到數據后,服務器端把數據序列化成JSON格式消息,發送到客戶端。

5.3 客戶端

客戶端向服務器端發送已被序列化的JSON格式消息,然后等待服務器端返回的消息,接到服務器返回的消息后,反序列化JSON消息。處理過程調用ison.me的API。具體實現如下:①序列化成JSON格式。只需調用JSONObjeet的put方法添加相關項。JSONObject可以添加3種對象:簡單的對象、JSONObject對象、JSONArray對象。具體操作如下:JSONObject header=new JSONObjeet ();headerput(“title”,“yahoonews”);JSONObject childObj=new JSONObject();header.put(“child”,childObj);JSONArray arrayObj=new JSONArray();headerput(“array”,arrayObj);②反序列化JSON格式消息。反序列化也包括3種情況:簡單的JSONObject對象、嵌套的JSONObject對象、數組對象。具體實現如下:JSONObject bj=new JSONObject(str);String title=obj-getString(“title”);intcount=obj.getInt(“count”);JSONObject body=obj.getJSONObject(“body”);JSONArray arrayObj=obj.getJSONArray(“array”);

5.4 傳輸協議層

客戶端和服務器端之間的通信采用HTTP協議。HTTP協議是一種廣泛使用的協議,所有MIDP設備都支持HTTP協議。且在各種不同的無線網絡上,HTTP協議實現相對較容易。HTTP協議請求方式有GET和POST兩種。由于GET請求發送大數據塊時對URL字符串長度有限制。對象JSON字符串長度可能很長,尤其當使用極其復雜的對象時。

同時,在跨域網絡以純文本方式發送所有數據,安全性難以保證.因此建議采用POST方式發送機密或內容極長的請求。

6 結束語

通過分析JSON、XML與自定義數據交換格式,提出以JSON作為輕量級數據交換格式,并給出其在客戶端(J2ME)與服務器端(J2EE)解決方法的一般框架,解決了自定義和使用XML數據交換格式所帶來的繁瑣、耗費資源的缺陷。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 無線
    +關注

    關注

    31

    文章

    5471

    瀏覽量

    173929
  • 服務器
    +關注

    關注

    12

    文章

    9338

    瀏覽量

    86164
  • JAVA
    +關注

    關注

    19

    文章

    2977

    瀏覽量

    105240
收藏 人收藏

    評論

    相關推薦

    qt tcp程序在服務器端發送數據之前能接收客戶端發送的數據嗎?

    寫了一個tcp的客戶端服務器端,是服務器端客戶端發送文件,但是我想在服務器端發送之前先讓客戶端
    發表于 04-22 20:06

    一個服務器,多個客戶端,怎么向指定的客戶端數據

    我用labview做服務器,單片機做客戶端客戶端幾百個,怎么區分客戶端,給指定的客戶發發數據
    發表于 06-01 09:26

    labview怎么實現服務器端一直等待客戶端發送數據

    我現在在做labview的服務器端,但是當客戶端發送數據結束后,我的服務器端會報錯。報錯的意思就是說客戶端關閉,我想知道怎么
    發表于 08-12 14:34

    STM32F103上網絡通信實驗中服務器客戶端連接但不能進行數據交換該怎么辦?

    我在應用原子哥的103板子的網絡通信實驗時,發現了一個小問題,就是在服務器模式下,板子可以與很多的客戶端建立連接,但是在進行數據交換時,卻只能和第一個連上的客戶端進行
    發表于 10-15 04:37

    為什么LWIP的TCP客戶端服務器端斷開后繼續發送數據就無法檢測到連接狀態?

    發現LWIP的TCP客戶端有個BUG,當服務器端開之后,如果還繼續發送數據,那就不能檢測到連接狀態。求助求助
    發表于 10-29 20:26

    如何解決自定義和使用XML數據交換格式帶來的缺陷?

    JSON數據交換格式相比XML和傳統數據交換格式所具有哪些優勢?如何解決自定義和使用XML數據交換格式帶來的缺陷?
    發表于 05-27 06:20

    JSON是什么?如何去創建一種JSON

    1.JSON是一種輕量級的數據交換格式。是一種獨立于語言的文本格式。輕量級適合xml相比較。數據交換指的是客戶端
    發表于 07-09 07:06

    如何實現服務器客戶端數據交互?

    如何實現服務器客戶端數據交互?
    發表于 10-26 07:22

    監控系統客戶端服務端設計

    項目開發報告1 項目簡介1.1 概述1.2 開發環境1.3 其他支持1.4 應用界面1.4.1 服務器端1.4.2 客戶端1.5 程序使用2 項目開發2.1 搭建基于實驗平臺數據庫2.1.1
    發表于 12-21 07:02

    請問如何處理從客戶端服務器的寫操作?

    不知道如何從客戶端服務器執行相同的操作。在 Android 下,我可以將數據寫入特性(在 NO RESPONSE 模式下),但我不明白如何在服務器
    發表于 01-04 08:22

    基于J2ME/J2EE的JSON數據交換的探討

    分析JSON數據交換格式,并提出在客戶端(J2ME)與服務器端(J2EE)之間采用JSON
    發表于 12-30 16:10 ?0次下載

    android使用JSON進行網絡數據交換

    本文將快速講解 JSON 格式,并通過代碼示例演示如何分別在客戶端服務器端進行 JSON 格式
    發表于 12-04 11:51 ?0次下載

    網絡調試和串口調試集合UDP TCP客戶端和TCP服務器端應用程序免費下載

    本文檔的主要內容詳細介紹的是網絡調試和串口調試集合UDP TCP客戶端和TCP服務器端應用程序免費下載。
    發表于 08-30 08:00 ?16次下載
    網絡調試和串口調試集合UDP TCP<b class='flag-5'>客戶端</b>和TCP<b class='flag-5'>服務器端</b>應用程序免費下載

    數據是怎么樣保證準確的從客戶端發送到服務器端

    你有想過嗎,在計算機網絡當中,數據是怎么樣保證準確的從客戶端發送到服務器端的?中間涉及到了哪些理論?
    的頭像 發表于 07-01 10:09 ?2164次閱讀

    網絡工程師學Python之JSON數據交換格式解析

    JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。它基于JavaScript語法,但也可以被其他語言如Python解析和生成。
    的頭像 發表于 04-21 16:53 ?1515次閱讀
    主站蜘蛛池模板: 午夜在线免费观看 | 深爱激情五月婷婷 | 七月色婷婷 | 精品久久久久久久久久 | 日本极度另类网站 | 黄色小网站在线观看 | 久久国产精品99久久久久久牛牛 | 久久青青成人亚洲精品 | 欧美色视频在线观看 | 久热99| 噜噜色.com | 国产一级特黄的片子 | 四虎国产精品永免费 | 欧美另类xx | 欧美系列在线播放 | 在线免费观看91 | 欧美特黄三级在线观看 | 欧美日韩国产成人精品 | 国产拍拍1000部ww | 免费播放一区二区三区 | 人人九九精品 | 福利色播 | 与子乱刺激对白在线播放 | 色噜噜狠狠狠色综合久 | 四虎国产精品免费久久影院 | 亚洲图片 欧美色图 | 日本在线亚洲 | 色多多福利 | 成人午夜精品久久久久久久小说 | 午夜一级毛片 | 亚洲一区精品中文字幕 | 最新版天堂资源官网 | 日本黄页网站在线观看 | 亚洲精品成人久久久影院 | 成人观看网站a | 国内自拍网红在综合图区 | 美女写真福利视频 | 天天综合网天天综合色不卡 | 亚洲精品美女久久久 | 看片午夜 | 色www 永久免费网站 |