JSON数据解析
1 JSON简介
1.1 使用JSON语法创建对象
var ride={
make:'yamaha',
model:'demo',
year:2005,
owner:{
name:'yue',
occupation:'worker'
}
}
1.2使用JSON语法创建数组
2 Java解析和构造JSON数据
2.1 所需要的依赖包
2.2 Java的基本实现
Employee类:
public class Employee {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
下面是关于JSON的一些基本操作
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建JSON对象
JSONObject json = new JSONObject();
// 创建两个Map对象和一个List对象
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", "little");
map1.put("sex", "male");
map1.put("age", "23");
Map<String, String> map2 = new HashMap<String, String>();
map2.put("name", "big");
map2.put("sex", "male");
map2.put("age", "28");
List<Map> list = new ArrayList<Map>();
list.add(map1);
list.add(map2);
// 创建一个Employee对象
Employee em = new Employee();
em.setName("little");
em.setAge(23);
// 将Map转换成JSON数据
JSONArray ja1 = JSONArray.fromObject(map1);
// 将 List转换成JSON数据
JSONArray ja2 = JSONArray.fromObject(list);
// 将JavaBean转换成JSON数据
JSONArray ja4 = JSONArray.fromObject(em);
// 数组转换成JSON数据
String[] str = { "sk", "sk1", "sk2" };
JSONArray ja3 = JSONArray.fromObject(str);
System.out.println(ja1);
System.out.println(ja2);
System.out.println(ja3);
System.out.println(ja4);
// 构造JSON数据
json.put("map", ja1);
json.put("employee", ja2);
System.out.println(json);
// 解析JSON数据
JSONArray ja = json.getJSONArray("employee");
for (int j = 0; j < ja.size(); j++) {
System.out.println(((JSONObject) ja2.get(j)).get("name") + ","
+ ((JSONObject) ja2.get(j)).get("sex") + ","
+ ((JSONObject) ja2.get(j)).get("age"));
} } }
[{"sex":"male","age":"23","name":"little"},{"sex":"male","age":"28","name":"big"}]
["sk","sk1","sk2"]
[{"age":23,"name":"little"}]
{"map":[{"sex":"male","age":"23","name":"little"}],"employee":[{"sex":"male","age":"23","name":"little"},{"sex":"male","age":"28","name":"big"}]}
little,male,23
big,male,28
3 参考文献


JSON数据解析的更多相关文章
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...
- JSON数据解析 基础知识及链接收集
JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...
- 浅谈JSON数据解析方法
JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...
- JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- iOS - JSON 数据解析
iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...
- iOS开发笔记3:XML/JSON数据解析
这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...
- iOS学习—JSON数据解析
关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSer ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
随机推荐
- php 入门1
一.php在引入文件和js引入文件的区别 1.php在引入文件是用代码控制,而js是通过标签的属性src引入: 2.php引入可以在引入下写代码,而js是不可以的 3.静态效果的js可以引入的时间,引 ...
- vmware rdm
RDM即裸磁盘映射,基本思想就是将host的磁盘直接映射给虚拟机使用 需要讨论的是: 1.rdm磁盘是否允许设置为共享,即可以映射给多个虚拟机使用(vmware不可用) 在 vSphere W ...
- nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决
今天在做LNMP的时候,启动nginx服务,无法开启,导致网页打不开.把服务从起一下发现提示错误如下: Starting nginx: nginx: [emerg] bind() to 0.0.0.0 ...
- 遇到 Line 21: StartTag: invalid element name ios
打开这个的storyboard 文本编辑打开修改里面有冲突的部分
- Android 主题切换 小结
前言 我们用手机的时候经常看到 设置里面有夜间模式和白天模式来更换APP的主题,以前以为很简单,但是实际做起来还是有各种不完美,那么我们也要去了解各种解决方案来丰富我们的知识,现在我们就来看看各种优劣 ...
- hdu5713 K个联通块[2016百度之星复赛B题]
dp 代码 #include<cstdio> ; ; int n,m,k,cnt[N]; ]; ][],i,j,l,a,b; int check(int x,int y) { int i; ...
- CCNET+MSBuild+SVN实现每日构建
最近开始将源代码迁移到SVN,于是便考虑到如何从SVN定期获取源码,自动编译并部署以减轻工作量并提高工作效率.通过多方搜集资料并进行研究,基本实现了这个功能.对于每日构建的概念就不具体展开了,可以在各 ...
- 5.开发webservice
package com.atguigu.ws; import javax.jws.WebMethod; import javax.jws.WebService; /** * * @author Adm ...
- Android: 解决ADB server didn't ACK
分析: 1 打开命令行工具, 运行adb start-server 启动服务,报错ADB server didn't ACK, 并且根据错误信息可以得到服务绑定的端口是5037,极有可 ...
- VS 与JIRA Bamboo的连接
atlassian-vs-connector 可以百度下地址 一些配置 效果: