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 ...
随机推荐
- centos Crontab
minute hour day month week command 顺序:分 时 日 月 周 命令 第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4 ...
- centos No module named setuptools解决方案
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptool ...
- Eclipse中git插件导入远程库和上传项目源代码到远程库
陆陆续续,从github,csdn的code.之前实习的小公司也是用git管理.发如今版本号控制方面确实比較方便.代码一敲完 . 自己由于完毕了新功能.加入一个新分支.然后提交上去,这就是程序猿一天干 ...
- EntityFramework中经常使用的数据改动方式
上一篇文章里提到了 EntityFramework中经常使用的数据删除方式.那么改动对象值也有多种方式 第一种 相同是官方推荐的方式,先查询出来,再对要改动的字段赋值,这也应该是用的比較多的. 另外一 ...
- Mybatis加入Ehcache支持
1.Mybatis默认的缓存配置 MyBatis 包括一个很强大的查询缓存特性,它能够很方便地配置和定制. Mybatis缓存包括全局的缓存和局部的缓存.全局的缓存能够讲主配置文件的setting属性 ...
- Android5.0(lollipop)新特性介绍(一)
今年6月的Google I/O大会上.Android L的初次见面我相信让会让非常多android粉丝有些小激动和小期待.当然作为开发人员的我来说,激动不言而喻,毕竟这是自08年以来改变最大的一个版本 ...
- Spring AOP监控SQL运行
对数据库连接池Proxool比較熟悉的读者,都知道Proxool能够记录SQL运行内容和时间等信息日志. 我们能够将该日志记录专门的SQL日志文件.对于查找运行特别耗时的SQL起了不小的作用. 对于一 ...
- WWDC笔记:2011 Session 125 UITableView Changes, Tips and Tricks
What’s New Automatic Dimensions - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSect ...
- vs2013发布网站提示 “未能将文件**复制到**”
原因:年久失修,原来在项目中的一些文件给删掉或移除了 解决方法:打开.csproj文件(记事本打开),把提示的文件给删除掉.
- 2016/3/10 PHP环境搭建 LAMP WAMP
1. php成为服务器端的脚本语言.弱类型语言.$ JavaScript是弱类型语言.var Java强类型语言.byte short int long double float boolean 2. ...