首页 > 编程知识 正文

jsonarray去重java方法(jsonarray转数组)

时间:2023-12-24 12:05:13 阅读:319775 作者:PZKU

本文目录一览:

java的JSONArray怎么用?比如有一个JSONArray是 [{..."a":123, "

import java.text.ParseException;

import org.json.JSONArray;

import org.json.JSONObject;

public class TestJsonArray {

 public static void main(String[] args) throws ParseException {

  String jsonStr = "[{"a":123, "b":"hello", "x":[{"inner":"Inner JSONObject"}]}]";

  

  JSONArray jsonArray = new JSONArray(jsonStr);

  JSONObject jsonObj = jsonArray.getJSONObject(0);

  System.out.println(jsonObj);

  

  int a = jsonObj.getInt("a");

  String b = jsonObj.getString("b");

  JSONArray jsonArrayX = jsonObj.getJSONArray("x");

  

  System.out.println(a);

  System.out.println(b);

  System.out.println(jsonArrayX);

  System.out.println(jsonArrayX.getJSONObject(0).getString("inner"));

 }

}

java怎么去除JSON数组的重复值

对最佳回答进行修改,假设原始Json数组是这样的

原始JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"},{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]

工具类如下:

/**

 * 根据Key去重复

 * @param array

 */

public static JSONArray delRepeatIndexid(JSONArray array) {

    JSONArray arrayTemp = new JSONArray();

    int num = 0;

    for(int i = 0;i  array.size();i++){

        if(num==0){

            arrayTemp.add(array.get(i));

        }else{

            int numJ = 0;

            for(int j = 0;j  arrayTemp.size(); j++){

                JSONObject newJsonObjectI = (JSONObject)array.get(i);

                JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j);

                String index_idI = newJsonObjectI.get("Key").toString();

                String valueI = newJsonObjectI.get("Value").toString();

                String index_idJ = newJsonObjectJ.get("Key").toString();

                if(index_idI.equals(index_idJ)){

                    arrayTemp.remove(j);

                    JSONObject newObject = new JSONObject();

                    newObject.put("Key", index_idI);

                    newObject.put("Value", valueI);

                    arrayTemp.add(newObject);

                    break;

                }

                numJ++;

            }

            if(numJ-1 == arrayTemp.size()-1){

                arrayTemp.add(array.get(i));

            }

        }

        num++;

    }

    return arrayTemp;

}

处理结果

数据处理后JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]

完毕!!!!

请问java如何清空JSONArray?

JSONArray则是[]包裹起来的一个数组(Array)

如何清空jsonarray,有两种方法。

1、Java代码

JSONArray jsonArray= new JSONArray("[]");

2、Java代码

for (int i = 0, len = jsonArr.length(); i  len; i++) {  

    JSONObject obj = jsonArr.getJSONObject(i);  

    obj.remove("key");  

   }

json数组如何去重

代码如下:

/**

* 去重复index_id项合并value值

* @param args

*/

public static JSONArray delRepeatIndexid(JSONArray array) {

JSONArray arrayTemp = new JSONArray();

int num = 0;

for(int i = 0;i array.size();i++){

if(num==0){

arrayTemp.add(array.get(i));

}else{

int numJ = 0;

for(int j = 0;j arrayTemp.size(); j++){

JSONObject newJsonObjectI = (JSONObject)array.get(i);

JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j);

String index_idI = newJsonObjectI.get("index_id").toString();

String valueI = newJsonObjectI.get("value").toString();

String timeI = newJsonObjectI.get("time").toString();

String itemidI = newJsonObjectI.get("itemid").toString();

String index_idJ = newJsonObjectJ.get("index_id").toString();

String valueJ = newJsonObjectJ.get("value").toString();

if(index_idI.equals(index_idJ)){

int newValue = Integer.parseInt(valueI) + Integer.parseInt(valueJ);

arrayTemp.remove(j);

JSONObject newObject = new JSONObject();

newObject.put("index_id", index_idI);

newObject.put("itemid", itemidI);

newObject.put("time", timeI);

newObject.put("value", newValue);

arrayTemp.add(newObject);

break;

}

numJ++;

}

if(numJ-1 == arrayTemp.size()-1){

arrayTemp.add(array.get(i));

}

}

num++;

}

return arrayTemp;

}

java的JSONArray如何使用?

从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

数组内容如下:

/**

* 从json数组中得到相应java数组

* JSONArray下的toArray()方法的使用

* @param str

* @return

*/

public static Object[] getJsonToArray(String str) { JSONArray jsonArray = JSONArray.fromObject(str);

return jsonArray.toArray();     }

3.从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。

4.分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。

5.同样,如果要获取java数组中的元素,只需要遍历该数组。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。