下面我们通过一段代码了解一下解析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. Flask源码解读--所有可扩展点

    一.前言 flask中有很多可扩展点(笔者这样称呼),其中包含了信号和请求钩子,这些信号和钩子有什么用呢?其主要作用用于帮助我们进行程序的耦合性,当然还可以让我们自定义一些行为.话不多说,通过阅读源码 ...

  2. [WPF] How to bind to data when the datacontext is not inherited

    原文:[WPF] How to bind to data when the datacontext is not inherited 原文地址:http://www.thomaslevesque.co ...

  3. Nowcoder 牛客练习赛23

    Preface 终于知道YKH他们为什么那么喜欢打牛客网了原来可以抽衣服 那天晚上有空就也去玩了下,刷了一波水TM的YKH就抽到了,我当然是没有了 题目偏水,好像都是1A的.才打了一个半小时,回家就直 ...

  4. [Oracle][Metadata]如何查找与某一个功能相关的数据字典名

    当Oracel的一个新功能出来的时候,我们可能不知道所有与此功能关联的数据字典名称,那么如何才能得到这些 meta data 的 meta data 呢? 可以通过 dicitonary 来查看: 例 ...

  5. Deep Learning(深度学习)学习笔记整理系列之(一)(转)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0  2013-0 ...

  6. python中使用pymongo操作mongo

    MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档.数组及文档数组,非常灵活.在这一节中,我们就来看 ...

  7. 由一个“两次请求”引出的Web服务器跨域请求访问问题的解决方案

    http://blog.csdn.net/cnhnnyzhy/article/details/53128179 (4)Access-Control-Max-Age 该字段可选,用来指定本次预检请求的有 ...

  8. Java8之集合排序

    1,List<Map<String,Object>>格式 //排序 Comparator<Map<String, Object>> comparator ...

  9. 四则运算 C 语言

    #include<stdio.h>void main(){ char c; float x,y; int result; scanf("%c %f %f",&c ...

  10. leetcode: 638.大礼包

    题目描述: https://leetcode-cn.com/problems/shopping-offers/ 解题思路: 这类求最大最小的问题首先想到的就是用DP求解. 这题还用到了递归,首先计算单 ...