浅析Java中JSONObject和JSONArray使用

 更新时间:2016年06月03日 10:25:07   作者:A_山水子农  
这篇文章主要介绍了Java中JSONObject和JSONArray使用的相关资料,需要的朋友可以参考下

废话不多说,先给大家贴代码,具体代码如下所示:

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 
import java.util.*; 
public class JavaTest { 
public static void main(String[] args){ 
JSONObject obj=new JSONObject(); 
obj.put("derek","23"); 
obj.put("dad", "49"); 
obj.put("mom", "45"); 
System.out.println("通过构造器的方式创建的JSONObject对象:"+obj); 
Map<string,string> map=new LinkedHashMap<>(); 
map.put("derek","23"); 
map.put("dad", "49"); 
map.put("mom", "45"); 
System.out.println("通过fromObject方法将map对象转换为JSONObject对象:"+JSONObject.fromObject(map)); 
JSONArray arr=new JSONArray(); 
arr.add(0,"derek"); 
arr.add(1,"dad"); 
arr.add(2,"mom"); 
System.out.println("通过构造器的方式创建的JSONArray:"+arr); 
ArrayList list=new ArrayList<>(); 
list.add("derek"); 
list.add("dad"); 
list.add("mom"); 
System.out.println("通过fromObject方法将Arraylist对象转换为JSONArray对象:"+JSONArray.fromObject(list)); 
System.out.println("将HashMap对象通过fromObject方法转换为JSONArray对象"+JSONArray.fromObject(map)); 
String str="{\"derek\":23,\"dad\":49,\"mom\":45}"; 
System.out.println("解析之后的JSON对象:"+JSONObject.fromObject(str)); 
//遍历输出 
Iterator it=obj.keys(); 
while(it.hasNext()){ 
String key=it.next(); 
System.out.println(key+":"+obj.get(key)); 
} 
} 
} 

运行结果如下:

通过构造器的方式创建的JSONObject对象:{"derek":"23","dad":"49","mom":"45"}

通过fromObject方法将map对象转换为JSONObject对象:{"derek":"23","dad":"49","mom":"45"}

通过构造器的方式创建的JSONArray:["derek","dad","mom"]

通过fromObject方法将Arraylist对象转换为JSONArray对象:["derek","dad","mom"]

将HashMap对象通过fromObject方法转换为JSONArray对象[{"derek":"23","dad":"49","mom":"45"}]

解析之后的JSON对象:{"derek":23,"dad":49,"mom":45}

derek:23
dad:49
mom:45

Java List是个集合接口,只要是集合类接口都会有个“迭代子”( Iterator ),利用这个迭代子,就可以对list内存的一组对象进行操作。 所有要想操作这个list内存的东西,就首先要得到此迭代子的实例:Iterator it=l.iterator();

用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据类型,容器还对应get(),remove()方法来获取和删除数据成员

实例1.

import java.util.*; 
public class ArrayListTest{ 
public static void main(String dd[]){ 
//new了一个存储list 
List l=new ArrayList(); 
//因为Collection framework只能存储对象所以new封装类 
l.add(new Integer(1)); 
l.add(new Integer(2)); 
l.add(new Integer(3)); 
l.add(new Integer(4)); 
Iterator it=l.iterator(); 
//hasNext是取值取的是当前值.他的运算过程是判断下个是否有值如果有继续. 
while(it.hasNext()){ 
//设it.next封装类,调用Integer的intValue方法返回值为int赋给i; 
int i=((Integer)it.next()).intValue(); 
System.out.println("Element in list is : "+i);}}} 

ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别??

1、存储内容的区别

ArrayList 可以存储任何类型的项

List<类型> 只可以存储指定类型的项

2、使用是否方便

List<>比ArrayList使用方便

因为在使用ArrayList内部的值时,必须强制转换才行

相信使用过ArrayList的都深有体会,因为存放在ArrayList里的值都转换成了Object类型

3、出现的时间

ArrayList比List<>出现的时间早

List<>是C#2.0时出现的,且是其最强大的功能之一

4、所在命名空间的区别

ArrayList的命名空间是System.Collections

List<>的命名空间是System.Collections.Generic

其中Generic是泛型的意思,使用List<>也就是在使用泛型技术

5、编程中的使用频率

大多数情况下 ArrayList可以废弃不用,毕竟其是C#2.0之前的技术了

这一点从在Visual Studio中 新建一个类时便可以看出

新建一个类时,其默认使用的命名空间有

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

显然没有System.Collections,因为ArrayList的使用的确不方便

以上内容是小编给大家介绍的Java中JSONObject和JSONArray使用知识,希望对大家有所帮助,有任何问题欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 浅析Java进制转换、输入、命名问题

    浅析Java进制转换、输入、命名问题

    这篇文章主要介绍了Java进制转换、输入、命名问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Java基础之删除文本文件中特定行的内容

    Java基础之删除文本文件中特定行的内容

    这篇文章主要介绍了Java基础之删除文本文件中特定行的内容,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Feign 集成 Hystrix实现不同的调用接口不同的设置方式

    Feign 集成 Hystrix实现不同的调用接口不同的设置方式

    这篇文章主要介绍了Feign 集成 Hystrix实现不同的调用接口不同的设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java StringTokenizer分隔符拆分字符串

    Java StringTokenizer分隔符拆分字符串

    Java中的StringTokenizer类用于将一个字符串分解成标记,本文主要介绍了Java StringTokenizer分隔符拆分字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java中文件读写操作与常用技巧分享

    Java中文件读写操作与常用技巧分享

    在 Java I/O 体系中,File 类是唯一代表磁盘文件本身的对象,而File 类定义了一些与平台无关的方法来操作文件,所以下面我们一起来看看 File 类有哪些操作方法吧
    2023-06-06
  • Java中的length和length()深入分析

    Java中的length和length()深入分析

    java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法。这篇文章将介绍几个关于Java数组的关键概念。
    2016-11-11
  • 关于MD5算法原理与常用实现方式

    关于MD5算法原理与常用实现方式

    这篇文章主要介绍了关于MD5算法原理与常用实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mybatis plus where添加括号方式

    Mybatis plus where添加括号方式

    这篇文章主要介绍了Mybatis plus where添加括号方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot集成H2数据库的实现示例

    SpringBoot集成H2数据库的实现示例

    H2数据库作为一个轻量级的内存数据库,非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证,本文主要介绍了SpringBoot集成H2数据库的实现示例,具有一定的参考的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Java CyclicBarrier源码层分析与应用

    Java CyclicBarrier源码层分析与应用

    这篇文章主要介绍了Java CyclicBarrier的源码层分析与应用,CyclicBarrier也叫同步屏障,可以让一组线程达到一个屏障时被阻塞,直到最后一个线程达到屏障,感兴趣的的朋友可以参考下
    2023-12-12

最新评论