JSONObject和JSONArray使用

标签: javaJSONObjectJSONArrayjava List
584人阅读 评论(0) 收藏 举报
分类:

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出现的时间

ArrayListList<>出现的时间早

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的使用的确不方便

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:632766次
    • 积分:8630
    • 等级:
    • 排名:第2321名
    • 原创:296篇
    • 转载:29篇
    • 译文:0篇
    • 评论:183条
    个人网站
    博客专栏
    CSS3

    文章:14篇

    阅读:16019
    HTML5

    文章:18篇

    阅读:15167
    JavaScript

    文章:29篇

    阅读:31796
    文章分类
    最新评论