JSON解析
来源:互联网 发布:笔记软件 编辑:程序博客网 时间:2024/06/02 03:51
data.json:
{ "one": { "name":"周杰伦","date":"1979年1月18日","sex":"男", "album":{"info":[{"musicname":"七里香","time":"2004-08-03"},"ok"],"pop":"true"} }, "two": { "name":"林俊杰","date":"1981年3月27日","sex":"男", "album":{"info":[{"musicname":"七里香","time":"2010-12-08"},"ok"],"pop":"true"} }, "three": { "name":"张学友","date":"1961年7月10日","sex":"男", "album":{"info":[{"musicname":"Amour 遥远的她","time":"1985-12-01"},"ok"],"pop":"true"} }}
(1)json中不区分整数、小数等类型,而统一使用Number来存储数字。
(2)Array表示数组,以中括号”[]”括起来,元素之间以逗号分隔,元素可以为任意类型。
(3)Object表示对象,类似于C语言中的结构体,以花括号”{}”括起来,其元素要求为键值对,
key必须为String类型的,而value则可为任意类型。key和value之间以”:”表示映射关系,
元素之间也是以逗号分隔。
(4)String、Boolean、null与Java中一样,这里不再赘述。
public class MainActivity extends AppCompatActivity { private StringBuilder dataBuider = new StringBuilder(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { InputStream in = getResources().getAssets().open("data.json"); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = ""; StringBuilder builder = new StringBuilder(); while((line = br.readLine())!=null){ builder.append(line); } JSONObject jsonObject = new JSONObject(builder.toString()); JSONObject objectOne = jsonObject.getJSONObject("one"); json(objectOne); JSONObject objectTwo = jsonObject.getJSONObject("two"); json(objectTwo); JSONObject objectThree = jsonObject.getJSONObject("three"); json(objectThree); Log.e("log",dataBuider.toString()); } catch (Exception e) { e.printStackTrace(); } } private void json(JSONObject object){ try{ dataBuider.append(object.get("name").toString() + " "); dataBuider.append(object.get("date").toString() + " "); dataBuider.append(object.get("sex").toString() + " "); JSONObject albumObj = object.getJSONObject("album"); JSONArray infoArray = albumObj.getJSONArray("info"); dataBuider.append("[ "); for(int i = 0; i < infoArray.length(); i ++){ if(i==0){ JSONObject infoObj = infoArray.getJSONObject(i); dataBuider.append(infoObj.get("musicname")+" "); dataBuider.append(infoObj.get("time")+" "); }else{ dataBuider.append(","+infoArray.get(i)); } } dataBuider.append(" ] "); dataBuider.append(albumObj.get("pop")+" \n"); }catch (Exception e){ e.printStackTrace(); } }}
阅读全文
0 0
- 【JSON解析】JSON解析
- 解析JSON
- Json解析
- JSON解析
- JSON解析
- json解析
- Json解析
- Json解析
- JSON解析
- Json解析
- Json解析
- JSON解析
- JSON解析
- json 解析
- Json解析
- JSON解析
- json解析
- json 解析
- 【C++】模拟实现STL中的list
- c++之旅———开始
- leetcode 8. String to Integer (atoi)
- HTTP协议
- 使用脚本自动化安装MySQL/MariaDB
- JSON解析
- python 学习手册重点
- struts2整合freemarker(一)
- 【NOIP2017提高A组集训10.21】Fantasy
- 用的VS,写的字符串的copy 、 cmp 、cat, 在VC环境下运行没有终止,在VS下就终止了
- oracle db link的查看创建与删除
- c语言笔记
- C语言几种指针的声明方式
- 修改ssh端口