文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JSONObject与JSONArray如何在Java中使用

2023-05-30 22:21

关注

本篇文章给大家分享的是有关JSONObject与JSONArray如何在Java中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

JSONObject与JSONArray使用的场景区别;

  1. 想通过键值对的形式获取数据,使用JSONObject。

  2. 如果后台查询的是某个bean的list集合向前端页面传递,使用JSONArray。

JSONObject与JSONArray使用方法区别;

 创建方法不同:

 JSONObject创建的方法:

    //创建JsonObject第一种方法  JSONObject jsonObject = new JSONObject();  jsonObject.put("UserName", "kobi");  jsonObject.put("age", "34");  jsonObject.put("workIn", "ALI");  System.out.println("jsonObject1:" + jsonObject);  //创建JsonObject第二种方法  HashMap<String, String> hashMap = new HashMap<String, String>();  hashMap.put("UserName", "ZHULI");  hashMap.put("age", "30");  hashMap.put("workIn", "ALI");  System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap));

JSONArray创建的方法

    //创建一个JsonArray方法1  JSONArray jsonArray = new JSONArray();  jsonArray.add(0, "kobi");  jsonArray.add(1, "34");  jsonArray.add(2, "ALI");  System.out.println("jsonArray1:" + jsonArray);    //创建JsonArray方法2  ArrayList<String> arrayList = new ArrayList<String>();  arrayList.add("kobi");  arrayList.add("34");  arrayList.add("ALI");  System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));

获取方式不同

  1. 获取JSONObject中值:String userName = jsonObject.getString("UserName");

  2. 获取JSONArray中的值:String userName = arrayList.getString("2");

示例

package com.yunos.tv.video.resource.controller.web;import java.util.ArrayList;import java.util.HashMap;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class Test { public static void main(String[] args) {  //JsonObject和JsonArray区别就是JsonObject是对象形式,JsonArray是数组形式  //创建JsonObject第一种方法  JSONObject jsonObject = new JSONObject();  jsonObject.put("UserName", "ZHULI");  jsonObject.put("age", "30");  jsonObject.put("workIn", "ALI");  System.out.println("jsonObject1:" + jsonObject);    //创建JsonObject第二种方法  HashMap<String, String> hashMap = new HashMap<String, String>();  hashMap.put("UserName", "ZHULI");  hashMap.put("age", "30");  hashMap.put("workIn", "ALI");  System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap));    //创建一个JsonArray方法1  JSONArray jsonArray = new JSONArray();  jsonArray.add(0, "ZHULI");  jsonArray.add(1, "30");  jsonArray.add(2, "ALI");  System.out.println("jsonArray1:" + jsonArray);    //创建JsonArray方法2  ArrayList<String> arrayList = new ArrayList<String>();  arrayList.add("ZHULI");  arrayList.add("30");  arrayList.add("ALI");  System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));    //如果JSONArray解析一个HashMap,则会将整个对象的放进一个数组的值中  System.out.println("jsonArray FROM HASHMAP:" + JSONArray.fromObject(hashMap));    //组装一个复杂的JSONArray  JSONObject jsonObject2 = new JSONObject();  jsonObject2.put("UserName", "ZHULI");  jsonObject2.put("age", "30");  jsonObject2.put("workIn", "ALI");  jsonObject2.element("Array", arrayList);  System.out.println("jsonObject2:" + jsonObject2);     }}

结果:

 jsonObject1:{"UserName":"ZHULI","age":"30","workIn":"ALI"}
jsonObject2:{"workIn":"ALI","age":"30","UserName":"ZHULI"}
jsonArray1:["ZHULI","30","ALI"]
jsonArray2:["ZHULI","30","ALI"]
jsonArray FROM HASHMAP:[{"workIn":"ALI","age":"30","UserName":"ZHULI"}]
jsonObject2:{"UserName":"ZHULI","age":"30","workIn":"ALI","Array":["ZHULI","30","ALI"]}

3. 解析JSON字符串;

package com.yunos.tv.video.resource.controller.web;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class Test { public static void main(String[] args) {  String jsonString = "{\"UserName\":\"kobi\",\"age\":\"34\",\"workIn\":\"ALI\",\"Array\":[\"kobi\",\"34\",\"ALI\"]}";  //将Json字符串转为java对象  JSONObject obj = JSONObject.fromObject(jsonString);  //获取Object中的UserName  if (obj.has("UserName")) {   System.out.println("UserName:" + obj.getString("UserName"));  }  //获取ArrayObject  if (obj.has("Array")) {   JSONArray transitListArray = obj.getJSONArray("Array");   for (int i = 0; i < transitListArray.size(); i++) {    System.out.print("Array:" + transitListArray.getString(i) + " ");   }  } }}

返回值:

UserName:kobi
Array:kobi Array:34 Array:ALI

以上就是JSONObject与JSONArray如何在Java中使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯