欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析Java中JSONObject和JSONArray使用

程序员文章站 2024-03-12 08:17:08
废话不多说,先给大家贴代码,具体代码如下所示: import net.sf.json.jsonarray; import net.sf.json.jsonob...

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

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使用知识,希望对大家有所帮助,有任何问题欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对网站的支持!