Android小問題:String轉換Json,以及org.json.JSONObject與org.json.JSONArray相互新增
import org.json.JSONArray;
import org.json.JSONException;import org.json.JSONObject;
這是Android原生的Json資料解析包,雖然沒有Gson和fastjson好用。
不過它很輕量,並不需要新增別的jar包,可以為應用節省下小部分空間,利弊各有。
專案中有很多跟js進行互動的地方,傳遞資料時發現根本無法使用Object跟List<T>,於是就想到了Json。
Android跟js都把資料轉換成Json字串,傳遞後再各自進行解析。
查了些資料,覺得有幾個地方還挺值得記錄一下。
解析Json就不再多言,遍地都是,隨便查查就能明白,我要說的是資料轉換成Json。
1、把物件轉換成Json字串。
2、把字元陣列轉換成Json字串。
3、把Object陣列轉換成Json字串。
4、在JSONObject中新增Array。
1、把物件轉換成Json字串
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", obj.getId());
jsonObject.put("url", obj.getUrl());
jsonObject.toString();
2、把字元陣列轉換成Json字串。
JSONArray jsonArray = new JSONArray(); jsonArray.put(string[0]); jsonArray.put(string[1]); jsonArray.put(string[2]); jsonArray.toString();
3、把Object陣列轉換成Json字串。
JSONArray jsonArray = new JSONArray(); JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("id", obj.getId()); jsonObject1.put("url", obj.getUrl()); JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("id", obj.getId()); jsonObject2.put("url", obj.getUrl()); jsonArray.put(jsonObject); jsonArray.toString();
4、在JSONObject中新增Array。
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("id", obj.getId());
obj.put("url", obj.getUrl());
jsonArray.put(obj);
jsonObject.put("array", jsonArray);
jsonObject.toString();
當然,這些都是最簡單的用法,實際開發中的情況肯定要比這個複雜很多,
不過再怎麼複雜也都是幾種情況相符組合一下而已。
祝君程式碼永無BUG!!!
相關推薦
Android小問題:String轉換Json,以及org.json.JSONObject與org.json.JSONArray相互新增
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; 這是Android原生的Js
StringBuffer 和String的區別,以及二者之間的轉換(重要)
在編寫驗證碼的時候,用到 session.setAttribute("piccode",stringBuffer);後面要拿出來,要變成string型別。 要用String piccode = request.getSession().getAttribute("piccode")
Android 開發:(一)安卓開發環境搭建與配置 (Windows和Mac )以及目錄結構介紹
(一)、windows版 一. 開發工具: 1.Android Studio:(http://www.androiddevtools.cn/) 2.Genymotion(虛擬機器):(http://www.genymotion.net/) (二)、Mac版 一
android 實現mqtt訊息推送,以及不停斷線重連的問題解決
前段時間專案用到mqtt的訊息推送,整理一下程式碼,程式碼的原型是網上找的,具體哪個地址已經忘記了。 程式碼的實現是新建了一個MyMqttService,全部功能都在裡面實現,包括連伺服器,斷線重連,訂閱訊息,處理訊息,釋出訊息等基本操作。 首先新增依賴: dependencies { &
python拼接字串的特殊方法,除了常見的+加號和%百分號以外,還可以不用加號直接拼>>> 'a''b' 結果:'ab',以及使用'abc{0}{1}{2}'.format(a, b, c)函式拼接
>>> 'a''b' 'ab' >>> a, b, c = 1, 2, 3 >>> 'abc{0}{1}{2}'.format(a, b, c) 'abc123' Python字串拼接詳解 Pyth
android開發:在Macbook環境,android studio 配置git環境
第一步:對專案啟用git管理 這步是將專案納入git管理之下,點選android studio選單欄的VCS後,選擇Enable Version Control Integration. 在彈出的框裡選擇Git 然後可以發現在快捷工具圖示裡面多了兩個版本控制的按鈕,並且
筆記:狀態列佔位,以及隱藏5.0+半透明背景,加在非全屏,oncreate中,全屏切非全屏不抖動。
public void initStatusBar() { StatusBarUtil.setLightMode(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { this.g
Android筆記:String.format()的詳細用法
一直對String.format不瞭解,而且也記不住那麼多,記錄一下以後查起來方便 1 佔位符 1.1 單個佔位符 String s = String.format("Hello %s,Welcome
Android讀寫鎖的應用,以及最佳的磁碟快取設計
前言 相信磁碟快取在絕大部分的app上都有應用,相對於資料庫快取來說,可以不要注重於快取的管理,比較開放和隨意。 再加上jakewharton早年間釋出的disklrucache框架,讓我們使用磁碟快取更加簡單,效率上和資料庫快取也拉進了一步,以後有時間我在加上disklrucache的快取解讀。
YUI事件:自定義事件,以及這幾天對javascript程式設計的認識
程式碼 <script type="text/javascript"> YUI().use('event-custom','node', function(Y) { //應用event-custom模組 function Connector(url) {
Android 5.X Activity過渡動畫,以及漂亮的共享元素效果
曾經的Android在Activity進行跳轉的時候,只是非常生硬的進行切換,即使使用overPendingtransition(int inId,int outId)這個方法來給Activity增加一些切換動畫效果也很是差強人意。而在Android 5.X中,
android中屬性動畫的bug,以及ViewCompat
ViewCompat這個類,是andorid對於動畫類操作的相容類,今天寫了一個側拉框,出現的一個bug 今天一不小心遇見一個bug,這個bug如下 正常情況下慢慢畫動畫可以用,但是快速化,動畫就停止了, 今天先貼程式碼,明天貼圖 final CycleInte
Android實現圖片 高斯模糊,以及圖片映象 翻轉。
好久沒寫部落格,發現不止手癢,,原來不學習還是會頹廢的….. 哎….. 速速找了網上比較感興趣的功能,,看著前人大神門的方法實現,方便自己也方便別人: 上圖: 程式碼: MainActivity.class package com.hero.
無線客戶端框架設計(1):前言、目錄,以及一些念念碎
接下來要說的一個系列,是一個完整的App應用所需要的企業級框架設計,是我這2年來在無線客戶端這個領域摸爬滾打的,總結沉澱的心得體會,中途吃了很多虧,走過很多彎路,加了很多班,一次又一次的重構,不斷的學習,才知道,哦,原來iOS要這麼做,原來Android要那麼做,然後回過頭來再看看我最熟悉的WP,哦,原來WP
List轉換String,String轉換List,Map轉換String,String轉換Map之間的轉換類
/** * 定義分割常量 (#在集合中的含義是每個元素的分割,|主要用於map型別的集合用於key與value中的分割) */ private static final String SEP1 = "#"; private static final S
Android問題:String types not allowed (at 'layout_gravity' with value 'top/right').
android:layout_gravity="top/right"出錯的是這一句。實際上應該是:android:layout_gravity="top|right",這裡的top和right的關係是
mac小白入門教程配置,以及一些好用的tips推薦 (主要針對開發人員)
Mac&macOS簡介 App Store:蘋果電腦軟體商店 iTunes:在 Mac 上管理 iPhone 的利器 iTunes Store:購買軟體和數字產品 Apple Store:蘋果在官網和實體零
Android整理:SQlite資料庫的使用以及通過listView顯示資料
前言:上個月與同學一起做了一個簡單的Android應用,這段時間正好沒有很多事情所以趁熱整理一下學習到的知識,剛開始學習Android還有很多不懂的地方,繼續努力吧! 作業中需要用到資料庫,當然首選Android集成了的SQLite資料庫。 直接使用資料庫可以這樣:
Android筆記:Activity的生命週期以及啟動模式
Activity生命週期 activity的生命週期: onCreate onStart onRestart onResume onPaus
Android Studio:想要事半功倍,你需要記住這些快捷鍵
恩,我這個人有個癖好,就是愛收集各種快捷鍵,office,ps一類的快捷鍵收集了好多。原因嘛,還是那句話,工欲善其事,必先利其器。能有事半功倍的辦法,何樂而不為呢? 我這裡只是總結一下經常會