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 ...
随机推荐
- 去掉小程序textarea上的完成按钮栏
小程序textarea上会自动多一个完成按钮,如下图所示,如果是mpVue,在textarea添加 :show-confirm-bar="false" 即可.
- protobuf 之 MessageLite 接口摘录
class LIBPROTOBUF_EXPORT MessageLite { public: inline MessageLite() {} virtual ~MessageLite(); // Ba ...
- [Unity-22] Coroutine协程浅析
1.概念解释 协程并非一个独立的线程.在Unity中.全部的语句都是在一个线程中运行的,也就是说.Unity是单线程的(详细的能够參见http://blog.csdn.net/alexander_xf ...
- c++中拷贝构造函数,浅拷贝和深拷贝的区别
在C++提供了一种特殊的构造函数,称为拷贝构造函数.拷贝构造函数具有一般构造函数的所有特性,其作用是使用一个已经存在的对象(由拷贝构造函数的参数指定的对象)去初始化一个新的同类对象,即完成本类对象的复 ...
- centos 安装mysql时错误unknown variable 'defaults-file=/opt/redmine-2.6.0-2/mysql/my.cnf'
找到my.cnf所在目录.运行 chmod 664 my.cnf,再启动mysql成功
- codeforces 394E Lightbulb for Minister 简单几何
题目链接:点我点我 题意:给定n个点. 以下n行给出这n个点坐标. 给定m个点,以下m行给出这m个点坐标. 这m个点是一个凸包,顺时针给出的. 问:在凸包上随意找一个点(x, y) 使得这个点距离n个 ...
- grep命令使用技巧
grep如何实现全词查找例如:要查找name这个单词,反馈的查找结果不能包含namespace这样的模式,但是可以包含name()这样的模式,即要查找的单词两端不可以有其他的数字或者字母,但可以有空格 ...
- udhcp源码详解(四) 之租赁IP的管理
Server端对于租赁出去的IP的管理是基于结构体dhcpOfferedAddr的,该结构体的定义是在leases.c文件里:(结构体的成员介绍说明见详解之数据结构) 1: struct dhcpOf ...
- 如何用css给博客换一个好看的样式
第一步:点击设置,将如下代码复制到页面定制css代码 h3 { color: #fff; background-color: #008eb7; -moz-border-radius: 3px; bor ...
- iPhone开发关于UDID和UUID的一些理解【转】
原文地址:http://blog.csdn.net/xunyn/article/details/13629071 一.UDID(Unique Device Identifier) UDID是Uniqu ...