Java从json串中获取某个值

2023-11-01

Java从json串中获取某个值

java对象是不能直接传输,只有json对象 转成字符串 可以进行传输 故 传输中都是json进行的 接收到json数据之后
java在进行解析转换成为字符串。且json适用于很多语言之间的传输 json本质上就是一个map。

对应有两种json进行解析 首先就是先对json的合法性进行验证 是否可以进行解析

点击这里 进行json解析合法性

使用org.json进行解析

对下面的json数据进行获取解析
在这里插入图片描述

对应的相信内容的获取
在这里插入图片描述

首先就是 对应的json创建


                JSONObject jsonObject = new JSONObject(str);
                // 对应的一级 可以直接拿值
                
           		String name = JSON.getString("msg");
                JSONObject results=jsonObject.getJSONObject("result");
                System.out.println("对应的reults值 "+results);
				//  对应的result中获取日期
                System.out.println("对应的时间日期"+results.getString("date"));
                 city=results.getString("city");

				//  此种有数组 进行获取
                 JSONArray  index = results.getJSONArray("index");

				//  此处对index进行一个打印
                String[] strarray=String.valueOf(index .getJSONObject(0)).split(","); //遇到逗号就分割
                for (int i = 0; i < strarray.length; i++)
                {
                    System.out.println(strarray[i]);
                    if(strarray[i]=="{"||strarray[i]=="}")
                    {
                        System.out.println("\n"); //遇到{}就换行
                    }
                }


                 JSONObject arr=index.getJSONObject(0);

                System.out.println("对应的index1值 "+arr);
 
				// 
                 ivalue=arr.getString("ivalue");
                 detail=arr.getString("detail");
                 iname=arr.getString("iname");

            } catch (Exception e) {
                e.printStackTrace();
            }

使用com.alibaba.fastjson进行解析

导入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.73</version>
        </dependency>

本质上和上面的一样 有一点点的小小的区别


        String name = JSON.getString("msg");
        int age = JSON.getIntValue("status");
        JSONObject result= JSON.parseObject("" + JSON.get("result"));
        String date= result.getString("date");

		// 获取对应的数组下的内容
        JSONArray index= JSON.parseArray("" + JSON.get("index"));
        JSONObject index1= (JSONObject) index.get(0);
	    String detail= index1.getString("detail");

小细节提示:

		// 对应获取对象
		JSONObject jsonObj = new JSONObject(jsonMessage);
		//  如果所含对象的值 是null  返回的值 并不是对象 null  只是一个字符串 null
		String message=jsonObj.getString("message");

*对应getString源码解释


    public String getString(String name) throws JSONException {
        Object object = get(name);
        String result = JSON.toString(object);
        if (result == null) {
            throw JSON.typeMismatch(name, object, "String");
        }
        return result;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java从json串中获取某个值 的相关文章

随机推荐

  • CMOS图像传感器——pipeline像素控制

    一 传统像素操作 传统CMOS图像传感器的芯片架构中 像素的控制信号从水平方向驱动 像素的源极跟随器输出电压垂直地输出到位于顶部和底部的模拟前端读出电路 其具体实现方式如下图所示 其中RST TX和SEL是像素水平控制信号 像素输出电压PI
  • CMake中aux_source_directory的使用

    CMake中的aux source directory命令用于查找目录中的所有源文件 其格式如下 aux source directory
  • 新手如何有效的刷算法题(LeetCode)

    点击关注上方 五分钟学算法 设为 置顶或星标 第一时间送达干货 来源 五分钟学算法 前言 作为一名非科班出身的程序员 我是参加工作之后才开始接触算法 学算法至今有将近五年的时间 期间输出文字约 100 多万 从算法小白到写出百万阅读的算法文
  • python3 mmh3安装及使用

    mmh3安装方法 哈希方法主要有MD SHA Murmur CityHash MAC等几种方法 mmh3全程murmurhash3 是一种非加密的哈希算法 常用于hadoop等分布式存储情境中 在anaconda中安装使用命令 pip in
  • 【项目实战】AOSP源码阅读与目录结构

    一 背景 随着Android系统的不断发展 了解其内部实现和架构变得越来越重要 AOSP Android Open Source Project 是Android的开放源代码项目 为开发者提供了详细的源代码和工具 使得我们能够深入了解And
  • 【2023年电赛】运动目标控制与自动追踪系统(E 题)最简单实现

    本方案的思路是最简单的不涉及复杂算法 识别矩形框 标记矩形框 输出坐标和中心点 计算长度 控制舵机移动固定长度 仅供完成基础功能参考 不喜勿喷 实现运动目标控制与自动追踪系统 任务概述 本文将介绍如何使用OpenMV开发板和舵机构建一个运动
  • I/O,文件操作,File类

    前言 小亭子正在努力的学习编程 接下来将开启javaEE的学习 分享的文章都是学习的笔记和感悟 如有不妥之处希望大佬们批评指正 同时如果本文对你有帮助的话 烦请点赞关注支持一波 感激不尽 目录 前言 前驱知识 文件 目录 文件路径 Path
  • 阿里短信服务集成

    技术分享交流群 1125844267 大家可以进来唠嗑闲聊 前言 目前阿里短信不支持个人申请签名和模板 所以只能使用测试版固定的签名和模板 提示 以下是本篇文章正文内容 下面案例可供参考 一 控制台配置 1 进入阿里云官网 搜索 短信服务
  • Hyperledger Fabric全面理解

    Fabric结构 Fabric结构 Fabric 0 6的特点 结构简单 应用 成员管理 Peer的三角形关系 主要业务功能全部集中于Peer节点 架构问题 由于peer节点承担了太多的功能 所以带来扩展性 可维护性 安全性 业务隔离等方面
  • scanf和printf介绍

    1 scanf scanf函数是C语言中标准库中的输入函数 其主要作用是从标准输入设备 如键盘 获取输入数据 并将读取的数据存储到指定的变量中 其基本用法如下 读取整型数据 int num scanf d num 从标准输入读取一个整数 并
  • 使用Windows PowerShell 连接远程服务器

    1 使用管理员权限启动Windows PowerShell 2 在控制台中使用SSH指令 ssh usrname ip 更多ssh用法参照如下 PS C WINDOWS system32 gt ssh help unknown option
  • protocol buffers(protobuf)安装教程

    本文按照mac讲解protobuf的安装 windows上比较好安装按照mac的基本流程就可以安装成功 mac上的安装有的时候比较容易出现问题 一 通过brew的方式安装 仅Mac 需要mac中存在brew 输入命令 brew versio
  • HBuilder配置SVN

    注意 大家都配置前最好先备份好之前的文件资料 很早之前就想在编辑器上配置SVN 但找了很多资料都没有合适的 于是就自己摸索了一下 最后终于配置成功了 对于项目较大的公司来说一般都用SVN或新起的Git来协作团队开发 后台开发用的VS基本都集
  • AIX升级openssh步骤

    提前在IBM官方下载适用版本的openssl及openssh 安装步骤 1 首先启动待升级服务器telnet服务 并通过telnet登陆 startsrc t telnet 启动telnet 2 查看并记录已安装ssl ssh版本 方便升级
  • 单片机c语言延时1ms函数,单片机c语言延时函数用int与char有延时差吗?

    单片2113机的C语言关于延时函数主要有两种一种是用5261for循环 通过单片机执4102行空指令达到延时的1653目的如 for i 0 i lt 100 i 这个简单的语句会执行100次空指令每一次指令的时间可以大概确定因此这个是最简
  • CreateThread函数,无法将参数 3 从“DWORD (__cdecl *)(LPVOID)”转换为“LPTHREAD_START_ROUTINE” PVZCheater

    问题 HANDLE CreateThread LPSECURITY ATTRIBUTES SIZE T LPTHREAD START ROUTINE LPVOID DWORD LPDWORD 无法将参数 3 从 DWORD cdecl LP
  • 操作系统精髓与设计原理(原书第6版) 第二章操作系统概述 学习笔记(2)

    第二章 操作系统概述 2 4 现代操作系统的特征 1 微内核体系结构 微内核体系结构只给内核分配一些最基本的功能 包括地址空间 进程间通信 InterProcess Communication 简称IPC 和基本的调度 其他的操作系统服务都
  • 齿轮泵、叶片泵、柱塞泵及螺杆泵的工作原理及特点

    齿轮泵 叶片泵 柱塞泵及螺杆泵的工作原理 常见问题及特点 一 齿轮泵 工作原理 外啮合 相互啮合的轮齿当脱开啮合时 轮齿啮合线间的密闭容积增大形成压差 液压油从吸油腔途径吸油管路吸入齿谷 随着齿轮的旋转 齿谷的油液被带入压油腔 随着轮齿进入
  • 混淆矩阵 Confusion Matrix

    混淆矩阵定义 机器学习中总结分类模型预测结果的分析表 以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准并进行汇总 矩阵的行表示真实值 矩阵的列表示预测值 分类评估指标中定义的一些符号含义 如下 1 TP True P
  • Java从json串中获取某个值

    Java从json串中获取某个值 java对象是不能直接传输 只有json对象 转成字符串 可以进行传输 故 传输中都是json进行的 接收到json数据之后 java在进行解析转换成为字符串 且json适用于很多语言之间的传输 json本