下面我们通过一段代码了解一下解析JSON格式数据的基本过程:

提示:使用JSON需要导入 JSON 相关的多个Jar文件

import net.sf.json.JSONObject;
public class JsonUtil { public static void parseJson(String jsonStr){
//创建JSONObject 对象
JSONObject jsonobj = JSONObject.fromObject(jsonStr);
//获得字符串属性
String name = jsonobj.optString("name");
String sex = jsonobj.optString("sex");
String phone = jsonobj.optString("phone"); //获得整数属性
int age = jsonobj.getInt("age"); //打印属性
System.out.println("name:"+ name );
System.out.println("sex:"+ sex );
System.out.println("phone:"+ phone );
System.out.println("age:"+ age );
}
public static void main(String[] args) {
//JSON 格式字符串
String jsons = "{'name':'Java',"+
"'sex':'men'," +
"'phone':'12345678'," +
"'age':'12'}" ;
parseJson(jsons);
}
}

以上代码 演示了怎样解析JSON格式的数据. 如果一个JSON 对象中的某个属性是数组类型的,则需要用到JSONArray 类, 该类表示JSON 对象的数组. 获得数组类型的方法是getJSONArray() . 这个方法的返回值类型 是JSONArray . JSONArray 通过 potJSONObject 方法来获得数组中的每个JSON对象 .

下面通过一段代码 学习解析带有数组属性的JSON 格式数据.

import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class JsonUtilWithArray {
public static void parseJson(String jsonStr) {
// 创建JSONObject 对象
JSONObject jsonobj = JSONObject.fromObject(jsonStr);
// 获得字符串属性
String corp = jsonobj.getString("corp");
System.out.println("corp:" + corp);
// 获得数组类型属性
JSONArray objs = jsonobj.getJSONArray("programmers");
// 循环获得数组中的每个元素
for (int i = 0; i < objs.size(); i++) {
JSONObject jo = objs.optJSONObject(i);
String firstName = jo.optString("firstName");
String lastName = jo.optString("lastName");
int age = jo.optInt("age");
// 打印属性
System.out.println("firstName:" + firstName + "\tlastName:"
+ lastName + "\tage:" + age);
}
}
public static void main(String[] args) {
String jsonStr = "{" + "'corp':'MicroSoft'," + "'programmers':" + "["
+ "{'firstName':'Bell','lastName':'McLxin','age':33},"
+ "{'firstName':'Bell2','lastName':'McLxin2','age':23},"
+ "{'firstName':'Bell3','lastName':'McLxin3','age':13}" + "]"
+ "}";
parseJson(jsonStr);
}
}

Java XML JSON 数据解析的更多相关文章

  1. iOS开发笔记3:XML/JSON数据解析

    这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...

  2. Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题

    1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...

  3. iOS开发——XML/JSON数据解析

    NSJSONSerialization 接下来就正式开始.苹果官方给出的解析方式是性能最优越的,虽然用起来稍显复杂. 首先我们在上面已经有了我希望得到的信息的网站的API给我们的URL,在OC中,我要 ...

  4. 关于iOS中几种第三方对XML/JSON数据解析的使用

    Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...

  5. 用JAVA进行Json数据解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...

  6. JSON数据解析 基础知识及链接收集

    JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...

  7. iOS - JSON 数据解析

     iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...

  8. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  9. JSON数据解析及gson.jar包

    从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送. 服务器端的编程语言只能以如下 3 种格式返回数据: HTML XML JSON JSON一种简单的数据格式,比xml更轻巧. JS ...

随机推荐

  1. 51Nod 1299 监狱逃离

    这其实是一道树形DP的神仙题. 然后开始推推推,1 hour later样例都过不了 然后仔细一看题目,貌似像一个最小割模型,然后5min想了想建图: 首先拆点,将每个点拆成进和出两个,然后连边,边权 ...

  2. [Oracle]快速构造大量数据的方法

    [Oracle]快速构造大量数据的方法: create table tab001(id integer primary key, val varchar2(100)); insert into tab ...

  3. [Oracle][DataGuard]Standby数据库文件有损坏时的处理方法

    需要参考: [Oracle]Recovering the primary database's datafile using the physical standby, and vice versa ...

  4. 分布式监控系统Zabbix-图形集中展示插件Graphtree安装笔记

    Zabbix想要集中展示图像,唯一的选择是screen,后来zatree解决了screen的问题,但性能不够好.Graphtree 由OneOaaS开发并开源出来,用来解决Zabbix的图形展示问题, ...

  5. Docker inspect - format格式化输出 - 运维笔记

    Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数. 什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller ...

  6. iOS APP 中H5视频默认全屏播放问题解决

    问题描述:在Android中,视频可以正常在H5页面局部播放,iOS中则自动切换至全屏模式. 查看资料得以解决,20190301记录下来. 解决方法:IOS10及以后,在 video标签页中只包含 w ...

  7. React++ node.js ++SQL Sever ++MySQL++ python ++ php ++ java ++ c++ c#++ java ++ android ++ ios ++Linux+

    "C语言在它诞生的那个年代,是非常不错的语言,可惜没有OOP.当项目臃肿到一定程度,人类就不可控了. 为了弥补这个缺陷,C++诞生了.而为了应对各种情况,C++设计的大而全,太多复杂的特性, ...

  8. 个人作业-Week1(新增详细说明)

    快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上. 如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ...

  9. IO学习

    ---恢复内容开始--- 命名规则: 1.类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:(领域模型 的相关命名)DO / BO / DTO / VO 等. 2.方法名 ...

  10. Golang 入门~~基础知识

    变量声明 //通用形式,指定变量名,变量类型,变量值 var name int = 99 fmt.Println(name) //指定变量名,以及变量类型,未指定值的时候默认是类型零值 var age ...