Java中Json解析

简介: 首先准备一个JSON格式的字符串 * String JsonStr = "{object:{persons:" + "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.

首先准备一个JSON格式的字符串
* String JsonStr = "{object:{persons:" +
"[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
"{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";

 

* 然后定义一个Person类
*
*

 

 1 class Person{
 2     private String name,image;
 3 
 4     public String getName() {
 5         return name;
 6     }
 7 
 8     public void setName(String name) {
 9         this.name = name;
10     }
11 
12     public String getImage() {
13         return image;
14     }
15 
16     public void setImage(String image) {
17         this.image = image;
18     }
19     
20 }

 

下面是一个Json解析的程序代码

 1 class MyDay17Xml {
 2     //json字符串
 3     static String JsonStr = "{object:{persons:" +
 4             "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," +
 5             "{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," +
 6             "{name:'嘿嘿',image:'http://10.0.159.132:8080/Web/s2.jpg'}]}}";
 7 
 8     public static void main(String []args) throws JSONException{
 9         List<Person> list=jsonStrToList(JsonStr);
10         System.out.println(list.size());
11     }
12     /**
13      * 
14      * 
15      * 
16      */
17     public static List<Person> jsonStrToList(String jsonStr) throws JSONException{
18         List<Person> list=new ArrayList<Person>();
19         
20         //通过字符串,获得最外部的json对象
21         JSONObject jsonObj=new JSONObject(jsonStr);
22         //通过属性名,获得内部的对象
23         JSONObject jsonPersons=jsonObj.getJSONObject("object");
24         //获得json对象组
25         JSONArray arr=jsonPersons.getJSONArray("persons");
26         for(int i=0;i<arr.length();i++){
27             //循环对象,并通过getString("属性名");来获得值
28             JSONObject tempJson=arr.getJSONObject(i);
29             Person person=new Person();
30             
31             person.setName(tempJson.getString("name"));
32             person.setImage(tempJson.getString("image"));
33             list.add(person);
34         }
35         return list;
36         
37     }
38     
39 }

 

相关文章
|
3月前
|
机器学习/深度学习 JSON Java
Java调用Python的5种实用方案:从简单到进阶的全场景解析
在机器学习与大数据融合背景下,Java与Python协同开发成为企业常见需求。本文通过真实案例解析5种主流调用方案,涵盖脚本调用到微服务架构,助力开发者根据业务场景选择最优方案,提升开发效率与系统性能。
911 0
|
3月前
|
Java
Java的CAS机制深度解析
CAS(Compare-And-Swap)是并发编程中的原子操作,用于实现多线程环境下的无锁数据同步。它通过比较内存值与预期值,决定是否更新值,从而避免锁的使用。CAS广泛应用于Java的原子类和并发包中,如AtomicInteger和ConcurrentHashMap,提升了并发性能。尽管CAS具有高性能、无死锁等优点,但也存在ABA问题、循环开销大及仅支持单变量原子操作等缺点。合理使用CAS,结合实际场景选择同步机制,能有效提升程序性能。
|
3月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
3月前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
471 100
|
4月前
|
存储 缓存 Java
Java数组全解析:一维、多维与内存模型
本文深入解析Java数组的内存布局与操作技巧,涵盖一维及多维数组的声明、初始化、内存模型,以及数组常见陷阱和性能优化。通过图文结合的方式帮助开发者彻底理解数组本质,并提供Arrays工具类的实用方法与面试高频问题解析,助你掌握数组核心知识,避免常见错误。
|
4月前
|
JSON 算法 API
淘宝商品评论API接口核心解析,json数据返回
淘宝商品评论API是淘宝开放平台提供的数据服务接口,允许开发者通过编程方式获取指定商品的用户评价数据,包括文字、图片、视频评论及评分等。其核心价值在于:
|
4月前
|
缓存 安全 Java
Java并发性能优化|读写锁与互斥锁解析
本文深入解析Java中两种核心锁机制——互斥锁与读写锁,通过概念对比、代码示例及性能测试,揭示其适用场景。互斥锁适用于写多或强一致性场景,读写锁则在读多写少时显著提升并发性能。结合锁降级、公平模式等高级特性,助你编写高效稳定的并发程序。
272 0
|
2月前
|
存储 安全 Java
《数据之美》:Java集合框架全景解析
Java集合框架是数据管理的核心工具,涵盖List、Set、Map等体系,提供丰富接口与实现类,支持高效的数据操作与算法处理。
|
2月前
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
284 3
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
196 1

推荐镜像

更多
  • DNS