jsonarray用需要啥jar包?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonarray用需要啥jar包?相关的知识,希望对你有一定的参考价值。

jsonarray所必需的6个jar包:

1、commons-beanutils-1.7.0.jar

2、commons-collections-3.1.jar

3、commons-lang-2.5.jar

4、commons-logging.jar

5、ezmorph-1.0.3.jar

6、json-lib-2.1-jdk15.jar

Jar文件属于一个存档文件,它是用ZIP格式构建的。Jar作为文件扩展名。用户可以使用JDK提供的jar命令创建或提取jar文件。您也可以使用其他zip压缩工具,但压缩时,zip文件头中条目的顺序很重要,因为清单文件通常需要放在第一位。

扩展资料:

可执行jar文件是存储在特殊配置的jar文件中的自包含Java应用程序,JVM可以直接执行该文件,而无需事先提取文件或设置类路径。运行存储在不可执行jar中的应用程序。

必须将其添加到类路径中,并按名称调用应用程序的主类。但是对于一个可执行的jar文件,我们可以运行一个应用程序,而无需提取它或知道主入口点。可执行jar有助于Java应用程序的发布和执行。

参考资源来源:

百度百科-jar

参考技术A

jsonarray所必需的6个jar包:

1、commons-beanutils-1.7.0.jar

2、commons-collections-3.1.jar

3、commons-lang-2.5.jar

4、commons-logging.jar

5、ezmorph-1.0.3.jar

6、json-lib-2.1-jdk15.jar

JAR文件属于一种归档文件,以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自带的jar命令创建或提取JAR文件。也可以使用其他zip压缩工具,不过压缩时zip文件头里的条目顺序很重要,因为Manifest文件常需放在首位。

扩展资料:

一个可执行的jar 文件是一个自包含的 Java 应用程序,它存储在特别配置的JAR 文件中,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径。要运行存储在非可执行的 JAR 中的应用程序。

必须将它加入到您的类路径中,并用名字调用应用程序的主类。但是使用可执行的 JAR 文件,我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。可执行 JAR 有助于方便发布和执行 Java 应用程序。

参考资料:百度百科-jar

参考技术B

List泛型转为JSON:JSONArray jsonArray = JSONArray.fromObject(list);

已经导入了json的jar包,可是一直报错:java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException,对与一个小白来说,纠结了好久,各种找错,最后才知道使用JSON不仅需要json的jar包,还需要一些关联的jar包:

jakarta commons-lang 2.5 
jakarta commons-beanutils 1.8.0 
jakarta commons-collections 3.2.1 
jakarta commons-logging 1.1.1 
ezmorph 1.0.6

1.JAR包简介

要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:

    commons-lang.jar

    commons-beanutils.jar

    commons-collections.jar

    commons-logging.jar 

    ezmorph.jar

    json-lib-2.2.2-jdk15.jar

    2.JSONObject对象使用

    JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。

JSONObject和JSONArray的简单使用

一. 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

二. 代码

package com.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Test {

    public static void main(String[] args) {
        new Test().test1();
        new Test().test2();
        new Test().test3();
        new Test().test4();
        new Test().test5();
        new Test().test6();
        new Test().test7();
    }

    /**
     * JSON字符串转JSONObject对象
     */
    public void test1() {
        String jsonStr = "{\"name\":\"ZhangSan\",\"sex\":\"boy\",\"age\":18}";
        JSONObject jsonObj = JSONObject.fromObject(jsonStr);
        System.out.println(jsonObj.toString());
    }

    /**
     * 简单JSONObject对象转java对象
     */
    public void test2() {
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("name", "LiSi");
        jsonObj.put("sex", "girl");
        jsonObj.put("age", 17);
        Student student = (Student) JSONObject.toBean(jsonObj, Student.class);
        System.out.println(student.getName() + " | " + student.getSex() + " | " + student.getAge());
    }

    /**
     * 复杂JSONObject对象转java对象
     */
    @SuppressWarnings("rawtypes")
    public void test3() {
        List<Student> students = new ArrayList<Student>();
        students.add(new Student("ZhangSan", "boy", 18));
        students.add(new Student("LiSi", "girl", 17));

        BanJi banji = new BanJi();
        banji.setBanJiName("日语二班");
        banji.setStudents(students);

        JSONObject jsonObj = JSONObject.fromObject(banji);
        Map<String, Class> classMap = new HashMap<String, Class>();
        classMap.put("students", Student.class);
        BanJi banji2 = (BanJi) JSONObject.toBean(jsonObj, BanJi.class, classMap);
        System.out.println(banji2.getStudents().get(0).getName()); // 验证转换是否成功
    }

    /**
     * 简单java集合对象转JSONArray
     */
    public void test4() {
        List<Student> students = new ArrayList<Student>();
        students.add(new Student("ZhangSan", "boy", 18));
        students.add(new Student("LiSi", "girl", 17));
        JSONArray jsonArray = JSONArray.fromObject(students);
        System.out.println(jsonArray.toString());
    }

    /**
     * JSONArray转java集合对象
     */
    @SuppressWarnings({ "unchecked", "deprecation" })
    public void test5() {
        JSONObject jsonObj1 = new JSONObject();
        jsonObj1.put("name", "ZhangSan");
        jsonObj1.put("sex", "boy");
        jsonObj1.put("age", 18);

        JSONObject jsonObj2 = new JSONObject();
        jsonObj2.put("name", "lisi");
        jsonObj2.put("sex", "girl");
        jsonObj2.put("age", 17);

        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, jsonObj1);
        jsonArray.add(1, jsonObj2);

        List<Student> students3 = JSONArray.toList(jsonArray, Student.class);
        System.out.println(students3.get(0).getName());
        System.out.println(students3.get(1).getName());
    }

    /**
     * 复杂java集合对象转JSONArray
     */
    @SuppressWarnings({ "rawtypes", "unchecked", "deprecation" })
    public void test6() {
        BanJi banji1 = new BanJi();
        banji1.setBanJiName("日语一班");
        List<Student> students1 = new ArrayList<Student>();
        students1.add(new Student("ZhangSan", "boy", 18));
        banji1.setStudents(students1);

        BanJi banji2 = new BanJi();
        banji2.setBanJiName("日语二班");
        List<Student> students2 = new ArrayList<Student>();
        students1.add(new Student("LiSi", "girl", 17));
        banji2.setStudents(students2);

        List<BanJi> banjiList = new ArrayList<BanJi>();
        banjiList.add(banji1);
        banjiList.add(banji2);

        JSONArray jsonArray = JSONArray.fromObject(banjiList);
        Map<String, Class> classMap = new HashMap<String, Class>();
        classMap.put("students", Student.class);
        List<BanJi> banjiList2 = JSONArray.toList(jsonArray, BanJi.class, classMap);
        System.out.println(banjiList2.get(0).getStudents().get(0).getName());

    }

    /**
     * 拆分JSONArray为JSONObject
     */
    public void test7() {
        JSONObject jsonObj1 = new JSONObject();
        jsonObj1.put("name", "ZhangSan");
        jsonObj1.put("sex", "boy");
        jsonObj1.put("age", 18);

        JSONObject jsonObj2 = new JSONObject();
        jsonObj2.put("name", "lisi");
        jsonObj2.put("sex", "girl");
        jsonObj2.put("age", 17);

        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, jsonObj1);
        jsonArray.add(1, jsonObj2);

        JSONObject object = (JSONObject) jsonArray.get(0);
        System.out.println(object.toString());
    }

}

 

package com.test;

import java.util.List;

/**
 * 班级类
 */
public class BanJi {

    private String banJiName; // 班级名

    private List<Student> students; // 学生

    /**
     * 构造函数
     */
    public BanJi() {
        super();
    }

    // getters/setters(略)
}
package com.test;

/**
 * 学生类
 */
public class Student {

    private String name; // 姓名

    private String sex; // 性别

    private int age; // 年龄

    /**
     * 构造函数
     */
    public Student() {
        super();
    }

    /**
     * 构造函数
     */
    public Student(String name, String sex, int age) {
        super();
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    // getters/setters(略)
}

 

以上是关于jsonarray用需要啥jar包?的主要内容,如果未能解决你的问题,请参考以下文章

使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持

加jar包啥时候需要添加类路径

json-lib中的JSONObject和JSONArray

springboot@enablescheduling注解需要导入啥jar包

json:JSONObject与JSONArray的使用

JSONObject与JSONArray的使用