java-JsonArray添加集合的问题

问题描述

JsonArray添加集合的问题

1.对于集合,我们可以添加集合。ArrayList
2.JsonArray怎么没有提供呢?
3.有好的实现方法吗?

解决方案

ArrayList list = new ArrayList();
        list.add("1");
        list.add("2");
 jsonListArray.addAll(list);

解决方案二:

1L 正解 就是这样干的

解决方案三:

package com.chorainBA.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonUtil {
/**
* 从一个JSON 对象字符格式中得到一个java对象
*
* @param jsonString
* @param pojoCalss
* @return
*/
public static Object getObject4JsonString(String jsonString, Class pojoCalss) {
Object pojo;
JSONObject jsonObject = JSONObject.fromObject(jsonString);
pojo = JSONObject.toBean(jsonObject, pojoCalss);
return pojo;
}

public static String getJson4Map(Map map){
    JSONObject jsonObject = JSONObject.fromObject(map);
    if(jsonObject != null)
        return jsonObject.toString();
    return "";
}
/**
 * 从json HASH表达式中获取一个map,该map支持嵌套功能
 *
 * @param jsonString
 * @return
 */
public static Map getMap4Json(String jsonString) {
    JSONObject jsonObject = JSONObject.fromObject(jsonString);
    Iterator keyIter = jsonObject.keys();
    String key;
    Object value;
    Map valueMap = new HashMap();
    while (keyIter.hasNext()) {
        key = (String) keyIter.next();
        value = jsonObject.get(key);
        valueMap.put(key, value);
    }
    return valueMap;
}

/**
 * 从json数组中得到相应java数组
 *
 * @param jsonString
 * @return
 */
public static Object[] getObjectArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    return jsonArray.toArray();
}

/**
 * 从json对象集合表达式中得到一个java对象列表
 *
 * @param jsonString
 * @param pojoClass
 * @return
 */
public static List getList4Json(String jsonString, Class pojoClass) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    JSONObject jsonObject;
    Object pojoValue;

    List list = new ArrayList();
    for (int i = 0; i < jsonArray.size(); i++) {
        jsonObject = jsonArray.getJSONObject(i);
        pojoValue = JSONObject.toBean(jsonObject, pojoClass);
        list.add(pojoValue);
    }
    return list;
}

/**
 * 从json数组中解析出java字符串数组
 *
 * @param jsonString
 * @return String对象数组
 */
public static String[] getStringArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    String[] stringArray = new String[jsonArray.size()];
    for (int i = 0; i < jsonArray.size(); i++) {
        stringArray[i] = jsonArray.getString(i);
    }
    return stringArray;
}

/**
 * 从json数组中解析出javaLong型对象数组
 *
 * @param jsonString
 * @return Long型对象数组
 */
public static Long[] getLongArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    Long[] longArray = new Long[jsonArray.size()];
    for (int i = 0; i < jsonArray.size(); i++) {
        longArray[i] = jsonArray.getLong(i);
    }
    return longArray;
}

/**
 * 从json数组中解析出java Integer型对象数组
 *
 * @param jsonString
 * @return 整形对象数组
 */
public static Integer[] getIntegerArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    Integer[] integerArray = new Integer[jsonArray.size()];
    for (int i = 0; i < jsonArray.size(); i++) {
        integerArray[i] = jsonArray.getInt(i);
    }
    return integerArray;
}

/**
 * 从json数组中解析出java Integer型对象数组
 *
 * @param jsonString
 * @return double数组
 */
public static Double[] getDoubleArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    Double[] doubleArray = new Double[jsonArray.size()];
    for (int i = 0; i < jsonArray.size(); i++) {
        doubleArray[i] = jsonArray.getDouble(i);
    }
    return doubleArray;
}

/**
 * 将java对象转换成json字符串
 *
 * @param javaObj
 * @return JSON字符串
 */
public static String getJsonString4JavaPOJO(Object javaObj) {
    JSONObject json;
    json = JSONObject.fromObject(javaObj);
    return json.toString();
}

}
这个json类可以解决大部分问题,包括转换json为List和map等

时间: 2024-08-04 07:17:47

java-JsonArray添加集合的问题的相关文章

java关于TreeSet集合的问题,为什么每次添加只能添加进去一个,再添加的时候就会覆盖掉前面那个

问题描述 java关于TreeSet集合的问题,为什么每次添加只能添加进去一个,再添加的时候就会覆盖掉前面那个 不知道为什么只能添加一个对象进去,添加第二次的时候就覆盖掉了第一次添加进去的.麻烦大家了! 这是main方法 if("a".equalsIgnoreCase(option)){ //查看图书的功能 d.cheekBook(); } else if("b".equalsIgnoreCase(option)){ //添加图书的功能 System.out.pri

java多线程读取集合对象后写入同一文件

问题描述 java多线程读取集合对象后写入同一文件 有一个学生对象,包含学号.姓名.班级属性 生成10个学生对象后放入集合中 运用多线程读取集合中学生对象后将学生信息写入到同一文件(按学生学号排序) 本人多线程实在不会,求大神解答.(不实现排序的也行)主要是能有多线程方面的代码提供下参考 解决方案 文件写使用多线程要加锁,还不如用单线程,你这是要干嘛

刚刚学java ,用集合怎么做

问题描述 刚刚学java ,用集合怎么做 sfjakfjkaskfjskfjjksafdopsjiffdnjflkadkllscfdamkfaslfcaslOIE fvckooafhnausjHFCIOVFIG 解决方案 用HashMap,a,b,c,d为key,出现的次数为value,依次取出字符串中的字母,然后让相应字母对应的value值加1 解决方案二: 刚刚起步学java 解决方案三: System.out.println("请输入:"); Scanner scan = new

java的泛型集合求大神指教

问题描述 java的泛型集合求大神指教 animal ani=new animal("欧欧", "欧瑞娜"); animal ani2=new animal("丫丫", "拉布拉多"); animal ani3=new animal("菲菲", "拉布拉多"); animal ani4=new animal("美美", "欧瑞娜"); List l

界面-java如何添加用户登陆头像

问题描述 java如何添加用户登陆头像 如图,想做一个带头像的登陆界面,请问头像怎么弄?怎么写头像那块的界面?以及数据库连接怎么弄 解决方案 http://blog.csdn.net/androidzhaoxiaogang/article/details/8646471 解决方案二: 可以在JPanel里面添加一张图片作为一个组件的, 例如给一个JLabel设置图片,然后添加到JPanel中. 解决方案三: 把图片以二进制的形式存储在数据库中,每次根据用户输入的账户去数据库中找.默认的设置成一样

图片-Java如何将集合写进联系人系统

问题描述 Java如何将集合写进联系人系统 # Java如何将集合写进联系人系统 解决方案 for-each循环. 解决方案二: for (E item : con) { 插入数据库 }

java项目添加redis缓存的问题

问题描述 java项目添加redis缓存的问题 在给已经上线的java开发项目添加redis缓存时,在往redis添加数据时,要求添加到redis的 db1数据库里面去.但是它默认是添加到db0里面去的,这个怎么解决? 还有在做删除操作的时,是根据key值对缓存数据进行删除操作,但默认还是删除db0里的 数据,怎么让其删除db1的数据? 代码怎么实现?跪求大神们给点指导,谢谢! 解决方案 你连接redis的指定数据库名字就可以了 解决方案二: java缓存问题Redis缓存应用之Java

基于Java回顾之集合的总结概述_java

Java中的集合主要集中在2部分,一部分是java.util包中,一部分是java.util.concurrent中,后者是在前者的基础上,定义了一些实现了同步功能的集合. 这篇文章主要关注java.util下的各种集合对象.Java中的集合对象可以粗略的分为3类:List.Set和Map.对应的UML图如下(包括了java.util下大部分的集合对象):Collection概述 Java集合中的List和Set都从Collection出来,它是一个学习集合很不错的入口,它包含了集合中通常需要有

深入剖析java中的集合框架_java

解析:如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,那么可以使用Java集合框架. 如果启用集合的删除方法,那么集合中所有元素的索引会自动维护. 集合完全弥补了数组的缺陷. 02.集合框架的内容  集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法  01.接口:表示集合的抽象数据类型  02.实现:集合框架中接口的具体实现  03.算法:在一个实现了某个集合框架的接口的对象身上完成某种有用的计算方法 java集合框架简图:    01.Collection接