JsonArray添加集合的问题

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

3个回答

ArrayList list = new ArrayList();
        list.add("1");
        list.add("2");
 jsonListArray.addAll(list);
u012131702
欧拉啊旺 没有发现这个方法……
5 年多之前 回复

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等

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐