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

时间: 2016-06-01

JSONObject与JSONArray的使用

1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar 2.JSONObject对象使用 JSON-lib包是一个beans,collections,maps,java arrays

JSON字符串转换JSONObject和JSONArray的方法

一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; String value1 = null; t

java json字符串转JSONObject和JSONArray以及取值的实例

java json字符串转JSONObject和JSONArray以及取值的实例 实现代码: import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { String joStr = "{name:\"张三\",age:\"20\"}"; //将json字符

详解JSONObject和JSONArray区别及基本用法

 一.JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 {  } 来表示的, 例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  而JSONArray,顾名思义是由JSONObject构成的数组,用  [

Java中JSONObject与JSONArray的使用区别详解

最近公司开发的几个项目中,后台Action向前端传递数据都是Json格式,于是对JSONObject.JSONArray简单的研究了一下,废话不多说,想使用JSONObject.JSONArray,策则在项目中必须要有commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar  ezmorph.jar json-lib-2.2.2-jdk15.jar 这些Jar包. 1.JSONObject

java中的i++和++i的区别详解

java中的前加加++和后加加++,有很多人搞的很晕,不太明白!今天我举几个例子说明下前++和后++的区别! 其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加! 前++和后++总结:其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加! 请大家看下面的例子就明白了! public class Test { public static void main(String[] args) { //测试,前加加和后加加 //前++和后++总结:其实大家只要

Java中关于int和Integer的区别详解

1.Java 中的数据类型分为基本数据类型和复杂数据类型 int是前者,integer 是后者(也就是一个类). 2.初始化时 复制代码 代码如下: int i = 1; Integer i = new Integer(1);   // (要把integer 当做一个类看) int 是基本数据类型(面向过程留下的痕迹,不过是对Java的有益补充) Integer 是一个类,是int的扩展,定义了很多的转换方法 类似的还有:float Float.double Double.string Stri

java中public class与class的区别详解

在编写类的时候可以使用两种方式定义类:public class定义类:class定义类:如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致.范例:定义一个类(文件名称为:Hello.java) 复制代码 代码如下: public class HelloDemo{    //声明一个类,类名称的命名规范:所有单词的首字母大写    public static void main(String args[]){    //主方法        System.

Java多线程通讯之wait,notify的区别详解

下面通过代码给大家介绍java多线程通讯之wait notify的区别,具体内容如下所示: class Res{ public String username; public String sex; } class Out extends Thread{ Res res; public Out(Res res){ this.res=res; } @Override public void run() { //写操作 int count=0; while (true){ // synchroniz

在C#和Java语言中for和foreach的区别详解

for循环和foreach循环的区别 首先在这里声明一点,C#和Java这两种语言很相似,尤其是初学的数据类型那一部分,所以这里写的for和foreach的区别在C#和Java中都适用. 我会在下面分别列出两种语言的for和foreach分别循环打印一个数组,大家可以看看区别 话不多说,直接上代码: //c# //先创建一个数组 int[] arr = new int[3] {99, 11, 22}; //利用for循环打印(可以创建一个变量 i;判断这个i是否小于数组的长度;每次循环i自增1)

java 中Excel转shape file的实例详解

java  中Excel转shape file的实例详解 概述: 本文讲述如何结合geotools和POI实现Excel到shp的转换,再结合前文shp到geojson数据的转换,即可实现用户上传excel数据并在web端的展示功能. 截图: 原始Excel文件 运行耗时 运行结果 代码: package com.lzugis.geotools; import com.lzugis.CommonMethod; import com.vividsolutions.jts.geom.Coordina

C++ 中指针和引用有什么区别详解

C++ 中指针和引用有什么区别详解 1.从内存上来讲  系统为指针分寸内存空间,而引用与绑定的对象共享内存空间,系统不为引用变量分配内容空间. 2指针初始化以后可以改变指向的对象,而引用定义的时候必须要初始化,且初始化以后不允许再重新绑定对象. 3.所以引用访问对象是直接访问.指针访问对象是间接访问. 4.如果pa是指针,那么*pa就是引用了. 但是两者在作为形参的时候非常相似,区别是指针拷贝副本,引用不拷贝.程序如下: #include<stdio.h> void pt(int * pta,

基于java中的PO VO DAO BO POJO(详解)

一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的ava对象. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合PO中应该不包含任何对数据库的操作. 二.VO:value object值对象.通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象可以和表对应也可以不这根据业务的需要 三.DAO:data access object 数据访问对象,此对象用于访问数据库.通常和PO结合使用,DAO中包含了各种