java循环获取json数组(如何获取json中的数组)

  • 1、java怎么读取json格式的数据
  • 2、JAVA怎么取JSON数组里的值???
  • 3、java json数组遍历层如下结果,跪求大神
  • 4、JAVA中json读取数组的方法
  • 5、跪求大神,用js或者java循环遍历json数组,实现下面功能,太难了,实在不会,跪求了(6)。

java可以使用JSONObject和JSONArray来操作json对象和json数组,具体用法如下

1:java对象与json串转换:

java对象—json串:

JSONObject JSONStr = JSONObject.fromObject(object);

String str = JSONStr.toString();

json串—java对象:

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Object pojo = JSONObject.toBean(jsonObject,pojoCalss);

2:java数组对象与json串转换:

java数组—json串:

JSONArray arrayStr = JSONArray.fromObject(List?);

String str = arrayStr.toString();

json串—java数组:

JSONArray array = JSONArray.fromObject(str);

List? list = JSONArray.toList(array, ?.class);

需要写一个方法,把json数据转换成list集合数据

public static List jsonToBean(String data, Object bean) {

List list = new ArrayList();

try {

JSONArray array;

try {

array = new JSONArray(data);

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

Object toBean = getBean(bean);

JSONObject ob = new JSONObject();

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

toBean = jsonStrToBean(ob, toBean);

list.add(toBean);

}

return list;

} catch (JSONException e) {

try {

Object obj = null;

JSONObject jsonObj = new JSONObject(data);

Object toBean = getBean(bean);

toBean = jsonStrToBean(jsonObj, toBean);

list.add(toBean);

return list;

} catch (JSONException e1) {

log.error(“Error covert String to JSONObject”, e);

e1.printStackTrace();

}

e.printStackTrace();

log.error(“Error covert String to JSONArray”, e);

}

} catch (SecurityException e) {

e.printStackTrace();

}

return list;

}

然后取出list集合数据中的值应该没问题了吧。

!DOCTYPE HTML

html lang=”en-US”

head

meta charset=”UTF-8″

titlemenu/title

style type=”text/css”

/style

/script

script type=”text/javascript”

var json = [

    {

        “index”: “name”,

        “id”: 4,

        “colspan”: 1,

        “sort”: 0,

        “title”: “你是”,

        “age”: 40

    }, 

    {

        “id”: 4,

        “colspan”: 3,

        “sort”: 1,

        “title”: “我”,

        “age”: 40

    }, 

    {

        “id”: 4,

        “colspan”: 15,

        “sort”: 2,

        “title”: “的”,

        “age”: 40

    }, 

    {

        “index”: “a”,

        “id”: 3,

        “colspan”: 1,

        “sort”: 0,

        “title”: “人”,

        “age”: 20

    }, 

    {

        “index”: “b”,

        “id”: 3,

        “colspan”: 1,

        “sort”: 1,

        “title”: “好”,

        “age”: 20

    }, 

    {

        “id”: 3,

        “colspan”: 5,

        “sort”: 2,

        “title”: “马”,

        “age”: 40

    }, 

    {

        “id”: 2,

        “colspan”: 2,

        “sort”: 0,

        “title”: “上”,

        “age”: 40

    }, 

    {

        “id”: 2,

        “colspan”: 2,

        “sort”: 1,

        “title”: “就”,

        “age”: 40

    }, 

    {

        “index”: “f”,

        “id”: 2,

        “colspan”: 1,

        “sort”: 2,

        “title”: “额”,

        “age”: 25

    }, 

    {

        “index”: “c”,

        “id”: 1,

        “colspan”: 1,

        “sort”: 0,

        “title”: “一”,

        “age”: 30

    }, 

    {

        “index”: “d”,

        “id”: 1,

        “colspan”: 1,

        “sort”: 1,

        “title”: “个”,

        “age”: 25

    }

];

var array = [], obj = {};

for (var i = 0; i  json.length; i++) 

{

    var temp = obj[json[i].id];

    if (!temp) 

    {

        obj[json[i].id] = [

            json[i]

        ];

    } 

    else if (temp.length  0) 

    {

        temp.push(json[i]);

        temp.sort(function(a, b) 

        {

            var x = parseFloat(a[“sort”], 10), y = parseFloat(b[“sort”], 10);

            if (x  y) 

            {

                return 1;

            } 

            else if (x  y) 

            {

                return -1;

            } 

            else 

            {

                return 0;

            }

        });

    }

}

for (var p in obj) 

{

    array.push(obj[p]);

}

array.sort(function(a, b) 

{

     var x = parseFloat(a[0].id, 10), y = parseFloat(b[0].id, 10);

    if (x  y) 

    {

        return -1;

    } 

    else if (x  y) 

    {

        return 1;

    } 

    else 

    {

        return 0;

    }

});

console.log(array)

/script

/head

body

/body

/html

Java语言以JSON的官方库和JSON-lib库来写

取likes是

String t=转义后的{“initial”:”R”,”name”:”reiz”,”likes”:[“JavaScript”,”Skiing”,”Apple Pie”]}

JSONObject jo=new JSONObject(t); //json-lib中是jo=JSONObject.fromObject(t);

JSONArray likes=jo.getJSONArray(“likes”); //得到likes数组

System.out.prinlnt(like.getString(2)); //打印Apple Pie

var origin = [

{“first_id”:1,”first_name”:”中学”,”second_id”:”1-1″,”second_name”:”一年级”,”third_id”:”1-1-1″,”third_name”:”一年级一班”,”people”:10,”age”:10,”parent”:5},

{“first_id”:1,”first_name”:”中学”,”second_id”:”1-1″,”second_name”:”一年级”,”third_id”:”1-1-2″,”third_name”:”一年级二班”,”people”:11,”age”:10,”parent”:5},

{“first_id”:1,”first_name”:”中学”,”second_id”:”1-2″,”second_name”:”二年级”,”third_id”:”1-2-1″,”third_name”:”二年级一班”,”people”:20,”age”:10,”parent”:5},

{“first_id”:1,”first_name”:”中学”,”second_id”:”1-2″,”second_name”:”二年级”,”third_id”:”1-2-2″,”third_name”:”二年级二班”,”people”:21,”age”:10,”parent”:5},

{“first_id”:2,”first_name”:”高中”,”second_id”:”2-1″,”second_name”:”一年级”,”third_id”:”2-1-1″,”third_name”:”一年级一班”,”people”:31,”age”:10,”parent”:5}

];

var finalData = []; // 最终的数据

transferData(); // 数据转换

console.log(finalData, JSON.stringify(finalData));

function transferData() {

origin.forEach(function(n) {

var first = getRecordById(n.first_id, finalData);

if (first) {

first.age += n.age;

first.parent += n.parent;

first.people += n.people;

var second = getRecordById(n.second_id, first.children);

if (second) {

second.age += n.age;

second.parent += n.parent;

second.people += n.people;

var third = getRecordById(n.third_id, second.children);

if (third) {

// 这里应该不会存在

} else {

second.children.push({

id: n.third_id,

name: n.third_name,

age: n.age,

parent: n.parent,

people: n.people

});

}

} else {

first.children.push({

id: n.second_id,

name: n.second_name,

age: n.age,

parent: n.parent,

people: n.people,

children: [{

id: n.third_id,

name: n.third_name,

age: n.age,

parent: n.parent,

people: n.people

}]

});

}

} else {

finalData.push({

id: n.first_id,

name: n.first_name,

age: n.age,

parent: n.parent,

people: n.people,

children: [{

id: n.second_id,

name: n.second_name,

age: n.age,

parent: n.parent,

people: n.people,

children: [{

id: n.third_id,

name: n.third_name,

age: n.age,

parent: n.parent,

people: n.people

}]

}]

});

}

});

}

function getRecordById(id, data) {

for (var i = 0, n = data.length; i  n; i++) {

if (data[i].id == id) return data[i];

}

return null;

}

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

汽车小知识 小米SU7 今日油价 油耗计算器 电耗计算器 购置税计算器 贷款计算器 保险计算器 交通违章代码 体育新闻
(0)
OJVD5OJVD5
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • 缓存和内存的区别

    一、缓存与内存的基本概念 1.1 缓存的定义 缓存是一种高速运算的存储器,它能够缓存与频繁访问的数据和程序,以便于提高数据的访问效率。缓存的容量相对于内存会小很多,但由于缓存的访问…

    编程 2024-10-04
  • 快速构建Android应用的最佳实践

    在Android应用程序开发中,由于市场竞争压力的不断增加,开发者需要快速构建出高质量的Android应用来满足用户需求。为了实现这一目标,本文将从多个方面分享快速构建Androi…

    编程 2024-11-12
  • git stash push详解

    一、基本概念 git stash是一个用来保存当前工作区状态的命令。有时候我们想去处理一些紧急需求但是我们的分支上的工作并未完成。这时候我们就可以使用git stash命令将工作区…

    编程 2024-10-04
  • javachm,javachmap什么意思

    本文目录一览: 1、chm文档用java语言怎么打开 2、eclipse 怎么导入格式为chm的Java api 文档 3、java如何生成chm格式文件(纯java,跨平台) 4…

    编程 2024-10-04
  • java连连看,java连连看小游戏

    本文目录一览: 1、如何用JAVA 编写一个连连看游戏全程设计 2、连连看JAVA源代码 3、用java语言编写连连看游戏 4、java连连看运行出来图片怎么一模一样 5、连连看J…

    编程 2024-10-04
  • Vue2.0安装详解

    一、安装步骤 1、安装npm npm是Node.js的包管理器,因为Vue.js是一个基于Node.js的前端框架,所以安装npm是必须的。在命令行中输入以下命令安装npm: su…

    编程 2024-11-02
  • formmethod详解

    一、methods methods 属性指定在提交表单时使用 HTTP 方法的类型。常用的 HTTP 方法有 GET 和 POST,但除此之外还有其他 HTTP 方法,比如 PUT…

    编程 2024-10-04
  • nginxmac

    一、什么是nginxmac nginxmac是MacOS下一个基于nginx的一款Web服务器,它提供了在本地环境中开发和测试Web应用程序的便捷性。它支持多种语言,比如PHP、P…

    编程 2024-11-05
  • Java Comparable接口的详细阐述

    一、Comparable接口用法 Java中的Comparable接口是一个非常常用的接口,它定义了对象之间的自然顺序。实现了Comparable接口的类,可以使用Collecti…

    编程 2024-10-14
  • javaqq登录,java登录登录界面制作

    本文目录一览: 1、手机QQ2012JAVA版为什么不能登录QQ 2、请问用java程序模拟qq登录界面的代码怎么写啊? 3、用Java编 QQ登录界面 4、javaqq还能登陆吗…

    编程 2024-10-04

发表回复

登录后才能评论