zoukankan      html  css  js  c++  java
  • JSONObject与JSONArray的使用

    转自:https://www.cnblogs.com/xgjblog/p/3908033.html

    Java不像PHP解析和生产JSON总是一个比较痛苦的过程。但是使用JSONObject和JSONArray会让整个过程相对舒服一些。

    需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar  ezmorph.jar json-lib-2.2.2-jdk15.jar

    1. 创建一个JSONObject对象:

    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"]}

    解析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":"ZHULI","age":"30","workIn":"ALI","Array":["ZHULI","30","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:ZHULI
    Array:ZHULI Array:30 Array:ALI 
  • 相关阅读:
    Oracle SQL语句收集
    SqlParameter In 查询
    SQL 性能优化
    Entity Framework
    【XLL API 函数】 xlfSetName
    【XLL API 函数】xlfUnregister (Form 2)
    【XLL API 函数】xlfUnregister (Form 1)
    【Excel 4.0 函数】REGISTER 的两种形式以及VBA等效语句
    【Excel 4.0 函数】REGISTER
    【Bochs 官方手册翻译】 第一章 Bochs介绍
  • 原文地址:https://www.cnblogs.com/sharpest/p/8334329.html
Copyright © 2011-2022 走看看