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

本文目录一览:

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数组中的元素,只需要遍历该数组。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/294067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-26 13:15
下一篇 2024-12-26 13:15

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • ArcGIS更改标注位置为中心的方法

    本篇文章将从多个方面详细阐述如何在ArcGIS中更改标注位置为中心。让我们一步步来看。 一、禁止标注智能调整 在ArcMap中设置标注智能调整可以自动将标注位置调整到最佳显示位置。…

    编程 2025-04-29
  • 解决.net 6.0运行闪退的方法

    如果你正在使用.net 6.0开发应用程序,可能会遇到程序闪退的情况。这篇文章将从多个方面为你解决这个问题。 一、代码问题 代码问题是导致.net 6.0程序闪退的主要原因之一。首…

    编程 2025-04-29
  • Python创建分配内存的方法

    在python中,我们常常需要创建并分配内存来存储数据。不同的类型和数据结构可能需要不同的方法来分配内存。本文将从多个方面介绍Python创建分配内存的方法,包括列表、元组、字典、…

    编程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一个类的构造函数,在创建对象时被调用。在本篇文章中,我们将从多个方面详细讨论init方法的作用,使用方法以及注意点。 一、定义init方法 在Pyth…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29

发表回复

登录后才能评论