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示例的更多相关文章

  1. fastjson对json字符串JSONObject和JSONArray互相转换操作示例

    2017-03-25 直接上代码: package com.tapt.instance; import com.alibaba.fastjson.JSON; import com.alibaba.fa ...

  2. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  3. android通过httpClient请求获取JSON数据并且解析

    使用.net创建一个ashx文件,并response.write  json格式 public void ProcessRequest(HttpContext context) { context.R ...

  4. Android Json生成及解析实例

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  5. HttpURLConnection从网上获取Json数据并解析详解

    HttpURLConnection从网上获取Json数据并解析 1.HttpURLConnection请求数据的步骤 (1)构造一个URL接口地址: URL url = new URL("h ...

  6. json两层解析

    public class Demo { public static void main(String[] args) { try { // 创建连接 服务器的连接地址 URL url = new UR ...

  7. Java中使用org.json和json-lib解析JSON

    文章目录  [隐藏] 一.JavaProject中org.json解析JSON 1.JSON的org.son-api下载 1)JSON网址 2)JSON的java解析org.json-api网址 3) ...

  8. json 构造和解析

    目录: (1)引入jar包: (2)json的构造: (3)json的解析: (4)遍历未知key. (1)java对json的处理,可借助org.json.jar. <!-- https:// ...

  9. android Json Gson FastJson 解析

    一 Json xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

随机推荐

  1. centos Crontab

    minute   hour   day   month   week   command     顺序:分 时 日 月 周 命令 第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4 ...

  2. centos No module named setuptools解决方案

    wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptool ...

  3. Eclipse中git插件导入远程库和上传项目源代码到远程库

    陆陆续续,从github,csdn的code.之前实习的小公司也是用git管理.发如今版本号控制方面确实比較方便.代码一敲完 . 自己由于完毕了新功能.加入一个新分支.然后提交上去,这就是程序猿一天干 ...

  4. EntityFramework中经常使用的数据改动方式

    上一篇文章里提到了 EntityFramework中经常使用的数据删除方式.那么改动对象值也有多种方式 第一种 相同是官方推荐的方式,先查询出来,再对要改动的字段赋值,这也应该是用的比較多的. 另外一 ...

  5. Mybatis加入Ehcache支持

    1.Mybatis默认的缓存配置 MyBatis 包括一个很强大的查询缓存特性,它能够很方便地配置和定制. Mybatis缓存包括全局的缓存和局部的缓存.全局的缓存能够讲主配置文件的setting属性 ...

  6. Android5.0(lollipop)新特性介绍(一)

    今年6月的Google I/O大会上.Android L的初次见面我相信让会让非常多android粉丝有些小激动和小期待.当然作为开发人员的我来说,激动不言而喻,毕竟这是自08年以来改变最大的一个版本 ...

  7. Spring AOP监控SQL运行

    对数据库连接池Proxool比較熟悉的读者,都知道Proxool能够记录SQL运行内容和时间等信息日志. 我们能够将该日志记录专门的SQL日志文件.对于查找运行特别耗时的SQL起了不小的作用. 对于一 ...

  8. WWDC笔记:2011 Session 125 UITableView Changes, Tips and Tricks

    What’s New Automatic Dimensions - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSect ...

  9. vs2013发布网站提示 “未能将文件**复制到**”

    原因:年久失修,原来在项目中的一些文件给删掉或移除了 解决方法:打开.csproj文件(记事本打开),把提示的文件给删除掉.

  10. 2016/3/10 PHP环境搭建 LAMP WAMP

    1. php成为服务器端的脚本语言.弱类型语言.$ JavaScript是弱类型语言.var Java强类型语言.byte short int long double float boolean 2. ...