JSON(2)JSONObject解析Josn和创建Jsonf示例
1.解析Json
/*
* test.josn内容如下:
{
"languages":[
{"id":"1","name":"Java","ide":"Eclipse"}
,{"id":"2","name":"Swift","ide":"Xcode"}
,{"id":"3","name":"C#","ide":"Visual studio"}
]
,"cat":"it"
}
*/
void json_parser(){
try {
InputStreamReader isr = new InputStreamReader(getAssets().open("test.json"),"utf-8");
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine() ) != null) {
builder.append(line);
}
br.close();
isr.close(); JSONObject root = new JSONObject(builder.toString()); /* 1.解析languages
"languages":[
{"id":"1","name":"Java","ide":"Eclipse"}
,{"id":"2","name":"Swift","ide":"Xcode"}
,{"id":"3","name":"C#","ide":"Visual studio"}
]
*/
JSONArray languagesArray = root.getJSONArray("languages"); output.setText("");
for (int i = ; i < languagesArray.length(); i++) {
JSONObject lan = languagesArray.getJSONObject(i);
output.append("\n");
output.append("\t id = " + lan.getInt("id"));
output.append("\t name = " + lan.getString("name"));
output.append("\t ide = " + lan.getString("ide"));
output.append("\n");
}
/*
* 2.解析cat
* "cat":"it"
*/
output.append("\n\t cat = " + root.getString("cat")); } catch (IOException e) {
output.append(e.getMessage());
e.printStackTrace();
} catch (JSONException e) {
output.append(e.getMessage());
e.printStackTrace();
}
}
2.创建Json
void create_json(){
JSONObject root = new JSONObject();
try {
/*
* 1.创建 "cat"
* "cat":"it"
*/
root.put("cat", "it");
/*
* 2.创建 "languages"
* "languages":[
{"id":"1","name":"Java","ide":"Eclipse"}
,{"id":"2","name":"Swift","ide":"Xcode"}
,{"id":"3","name":"C#","ide":"Visual studio"}
]
*/
JSONObject lan1 = new JSONObject();
lan1.put("id", );
lan1.put("name", "Java");
lan1.put("ide", "Eclipse");
JSONObject lan2 = new JSONObject();
lan2.put("id", );
lan2.put("name", "Swift");
lan2.put("ide", "Xcode");
JSONObject lan3 = new JSONObject();
lan3.put("id", );
lan3.put("name", "C#");
lan3.put("ide", "Visual studio");
JSONArray languagesArray = new JSONArray();
languagesArray.put(lan1);
languagesArray.put(lan2);
languagesArray.put(lan3);
root.put("languages", languagesArray);
output.setText(root.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
JSON(2)JSONObject解析Josn和创建Jsonf示例的更多相关文章
- fastjson对json字符串JSONObject和JSONArray互相转换操作示例
2017-03-25 直接上代码: package com.tapt.instance; import com.alibaba.fastjson.JSON; import com.alibaba.fa ...
- 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中
http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...
- android通过httpClient请求获取JSON数据并且解析
使用.net创建一个ashx文件,并response.write json格式 public void ProcessRequest(HttpContext context) { context.R ...
- Android Json生成及解析实例
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- HttpURLConnection从网上获取Json数据并解析详解
HttpURLConnection从网上获取Json数据并解析 1.HttpURLConnection请求数据的步骤 (1)构造一个URL接口地址: URL url = new URL("h ...
- json两层解析
public class Demo { public static void main(String[] args) { try { // 创建连接 服务器的连接地址 URL url = new UR ...
- Java中使用org.json和json-lib解析JSON
文章目录 [隐藏] 一.JavaProject中org.json解析JSON 1.JSON的org.son-api下载 1)JSON网址 2)JSON的java解析org.json-api网址 3) ...
- json 构造和解析
目录: (1)引入jar包: (2)json的构造: (3)json的解析: (4)遍历未知key. (1)java对json的处理,可借助org.json.jar. <!-- https:// ...
- android Json Gson FastJson 解析
一 Json xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
随机推荐
- curl 中文乱码
curl 中文乱码 学习了:https://blog.csdn.net/thc1987/article/details/52583789 学习了: http://blog.itpub.net/2903 ...
- Error Code: 2006 - MySQL 鏈嶅姟鍣ㄥ凡绂荤嚎
将sql文件导入到mysql时候,就一直报这个错误. 我试过网上各种方法都行不通. 最后将以下一句运行了一下就能够了,并且没有重新启动mysql. SET GLOBAL max_allowed_pac ...
- [外文理解] DDD创始人Eric Vans:要实现DDD原始意图,必须CQRS+Event Sourcing架构。
原文:http://www.infoq.com/interviews/Technology-Influences-DDD# 要实现DDD(domain drive design 领域驱动设计)原始意 ...
- [CSAPP]Bufbomb实验报告
Bufbomb实验报告 实验分析: level 0-3从test開始制运行,通过函数getbuf向外界读取一串内容(buf). Level 4 是通过參数-n,程序运行testn函数,调用getbuf ...
- HDU 1176-免费馅饼(DP_逆推)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 我的kindle书单
刚刚入手kindle,希望能够持续阅读,不断进步. 列下书单,记录我的阅读足迹,更希望园友若有好书多多推荐,互相交流. # keep updating ... 我的kindle书单 book name ...
- YTU 2432: C++习题 对象数组输入与输出
2432: C++习题 对象数组输入与输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 1603 解决: 1152 题目描述 建立一个对象数组,内放n(n<10)个学生的数据( ...
- YTU 2573: 连续奇数和
2573: 连续奇数和 时间限制: 1 Sec 内存限制: 128 MB 提交: 63 解决: 37 题目描述 小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和. 比如: 2^3 = ...
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...
- I.MX6 Battery issues
/******************************************************************** * I.MX6 Battery issues * 说明: * ...