生成 JSON 字符串(JSONObject、JSONArray)
import org.json.JSONException;import org.json.JSONObject;import org.json.JSONArray; JSONObject website = new JSONObject(); try { website.put("站点名称", "千一网络"); website.put("建站年份", 2005); JSONArray array = new JSONArray(); array.put("安卓开发").put("手机网页"); array.put("C#"); website.put("栏目", array); } catch (JSONException e) { e.printStackTrace(); } website.toString() // 这里转换为字符串
java 的特性,若有异常,则必须处理,所以这里放在了 try、catch 中。
JSONObject 除了可以直接跟值、JSONArray,也可以跟其他的 JSONObject(上面代码没有体现这点)。
JSONArray 中上面有三个 put ,前两个是连在一起写的,其实连不连在一起写都是一样的。
生成的字符串如下(为方便查看,已经格式化):
{
"站点名称" : "千一网络",
"建站年份" : 2005,
"栏目" : ["安卓开发" , "手机网页" , "C#"]
}
解析 JSON 字符串(JSONObject、JSONArray)
try { JSONObject website = new JSONObject("{ \"站点名称\" : \"千一网络\", \"建站年份\" : 2005, \"栏目\" : [\"安卓开发\" , \"手机网页\" , \"C#\"] }"); String siteName = website.getString("站点名称"); int buildYear = website.getInt("建站年份"); JSONArray array = website.getJSONArray("栏目"); String columnName1 = array.getString(0); String columnName2 = array.getString(1); String columnName3 = array.getString(2); } catch (JSONException e) { e.printStackTrace(); }
用 getXXX 方法挺方便的。里面还有个没提到,就是 JSONObject 里面还包含 JSONObject,这就用 getJSONObject。
查看更多关于【Android开发】的文章