服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - 浅析Java中JSONObject和JSONArray使用

浅析Java中JSONObject和JSONArray使用

2020-05-09 12:06A_山水子农 JAVA教程

这篇文章主要介绍了Java中JSONObject和JSONArray使用的相关资料,需要的朋友可以参考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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使用知识,希望对大家有所帮助,有任何问题欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对服务器之家网站的支持!

延伸 · 阅读

精彩推荐