Java解析Json

二维卡尔曼滤波位置,速度融合 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma... 阅读详情
  一、    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
  Json建构于两种结构:
         1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:         
               {
                      “name”:”jackson”,
                     “age”:100
                }


       2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:
         {
              “students”:
              [
                     {“name”:”jackson”,“age”:100},
                     {“name”:”michael”,”age”:51}
              ]
         }
二、java解析JSON步骤
        A、服务器端将数据转换成json字符串
           首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载: http://json-lib.sourceforge.net/ )
 
  JSON <wbr>之JAVA <wbr>解析
       然后将数据转为json字符串,核心函数是:
  public static String createJsonString(String key, Object value)
       {
               JSONObject jsonObject = new JSONObject();
        jsonObject.put(key, value);
        return jsonObject.toString();

       }
B、客户端将json字符串转换为相应的javaBean
   1、客户端获取json字符串 ( 因为android项目中已经集成了json的jar包所以这里无需导入 )
public class HttpUtil
{
   
    public static String getJsonContent(String urlStr)
    {
        try
        {// 获取HttpURLConnection连接对象
            URL url = new URL(urlStr);
            HttpURLConnection httpConn = (HttpURLConnection) url
                    .openConnection();
            // 设置连接属性
            httpConn.setConnectTimeout(3000);
            httpConn.setDoInput(true);
            httpConn.setRequestMethod("GET");
            // 获取相应码
            int respCode = httpConn.getResponseCode();
            if (respCode == 200)
            {
                return ConvertStream2Json(httpConn.getInputStream());
            }
        }
        catch (MalformedURLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "";
    }

   
    private static String ConvertStream2Json(InputStream inputStream)
    {
        String jsonStr = "";
        // ByteArrayOutputStream相当于内存输出流
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len = 0;
        // 将输入流转移到内存输出流中
        try
        {
            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
            {
                out.write(buffer, 0, len);
            }
            // 将内存流转换为字符串
            jsonStr = new String(out.toByteArray());
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return jsonStr;
    }
}

2、获取javaBean
        public static Person getPerson(String jsonStr)
    {
        Person person = new Person();
        try
        {// 将json字符串转换为json对象
            JSONObject jsonObj = new JSONObject(jsonStr);
            // 得到指定json key对象的value对象
            JSONObject personObj = jsonObj.getJSONObject("person");

            // 获取之对象的所有属性
            person.setId(personObj.getInt("id"));
            person.setName(personObj.getString("name"));
            person.setAddress(personObj.getString("address"));
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return person;
    }

    public static List<Person> getPersons(String jsonStr)
    {
        List<Person> list = new ArrayList<Person>();

        JSONObject jsonObj;
        try
        {// 将json字符串转换为json对象
            jsonObj = new JSONObject(jsonStr);
            // 得到指定json key对象的value对象
            JSONArray personList = jsonObj.getJSONArray("persons");
            // 遍历jsonArray
            for (int i = 0; i < personList.length(); i++)
            {
                // 获取每一个json对象
                JSONObject jsonItem = personList.getJSONObject(i);

                // 获取每一个json对象的值
                Person person = new Person();
                person.setId(jsonItem.getInt("id"));
                person.setName(jsonItem.getString("name"));
                person.setAddress(jsonItem.getString("address"));
                list.add(person);
            }
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return list;

    }



http://blog.sina.com.cn/s/blog_7ffb8dd501013q5c.html

基于C#通过PLCSIM ADV仿真软件实现与西门子1500PLC的S7通信方法演示 阅读详情

相关推荐

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 689

Java <->Json

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。 下载地址:http://json-lib.sourceforge.net/ 还要需要的第3方包: org.apache.commons(3.2以上版本) org.apache.oro net.sf.ezmorph(ezmorph-1.0.4.ja

The Life with iOS 931

Apollo control模块横向控制原理及核心代码逐行解析

看完这篇文章,你会对apollo横向控制有一个整体的概念

weixin_39199083的博客 2万+

Java集合(1)——Collection

集合的引入 回顾数组:存储同一种数据类型的集合容器 数组的特点: 1.只能存储同一种数据类型的数据 2.一旦初始化,长度固定 数组中的元素与元素之间的内存地址是连续的 注意:Object类型的数组可以存储任意类型的数据。 需求:定义一个数组存储班级同学的兴趣爱好 如果数组存储兴趣爱好: String[ ] arr = new String[100]; public class Demo1 { public static void main(String[] args){ Ob

qq_32559349的博客 347

educoder 5-3Python 计算思维训练——地图模拟

任务描述 本关任务:利用 Python 实现动画观察近 30 天 4.5 级以上地震发生情况。 相关知识 为了完成本关任务,你需要掌握:1.如何用 Python 从网络获取所需数据;2.如何用 Python 绘制地图 从网络获取数据 URL 处理模块(库) 在这里插入代码片 import urllib.request as req 创建一个表示远程 url 的类文件对象 urllib.urlopen(" ") 如同本地文件一样读取内容 print data的输出结果: 摘取动画所需数据

Manonll的博客 2485

多摄像头同步技术:帧同步信号在Sensor与解串器间的传递机制

本文深入探讨了多摄像头系统中帧同步信号的两种核心传递机制:由解串器统一发号施令或由主Sensor作为“带头大哥”。文章对比了两种方案在同步精度、硬件复杂度、成本及适用场景上的差异,并提供了实战配置要点与调试心法,为车载环视、ADAS及工业检测等应用提供关键的技术选型与实施指导。

weixin_29193359的博客 434

java对于JSON的解析

JSONObject是一种在Java中表示JSON对象的数据结构。它是一个无序的键值对集合,用花括号({})包围,并且每个键值对由冒号(:)分隔。在Java中使用JSONObject,通常需要使用JSON库(如Jackson、Gson等)进行解析和操作。以下是一些常见的JSONObject操作:需要注意的是,具体的操作方式和方法名称可能会因使用的JSON库而有所不同。上述示例中的方法是基于JSON.simple库进行说明的,其他库可能会有自己的API。

qq_64356200的博客 1万+

Linux下科大讯飞离线语音识别SDK从下载到实战(附常见问题解决)

本文详细介绍了在Linux系统下,如何从科大讯飞开放平台获取离线语音识别SDK,完成环境准备、编译部署到实战开发的完整流程。文章重点解析了SDK目录结构、语法词典定制、示例代码修改,并针对开发中常见的“词典加载失败”、音频格式、交叉编译及性能优化等问题提供了深度解决方案,助力嵌入式与IoT开发者快速实现稳定可靠的离线命令识别功能。

honey的博客 1238

五分钟学会如何用java解析json字符串!

在工作中我们常常使用json来存储和传输结构化的数据,如用户信息、配置信息等。它通常以string的方式进行传输,因此如何将string解析并得到我们想要的信息是一项必备且常用的功能。json的结构,无非是值,或者对象和数组的反复套娃,将这三种类型的解析方法掌握了,便不怕任何复杂结构的json了。

abracadabraa的博客 8532

智能车竞赛疯狂电路组:Altium Designer赛道设计与计分策略全解析

本文全面解析智能车竞赛疯狂电路组中,如何利用Altium Designer进行专业赛道设计。从软件基础操作、图层管理与封装库调用,到赛道拓扑绘制、核心尺寸规范,详细拆解设计全流程。文章深入结合计分策略,指导如何在设计阶段植入策略点,优化路径与元器件布局,以在比赛中获得时间优势,并提供了从图纸输出到实地测试的完整避坑指南。

beta5的博客 583

Robosuite实战:通过Xbox手柄实现机械臂6-DoF精准控制的完整指南

本文详细介绍了如何通过Xbox手柄实现机械臂的6-DoF精准控制,结合Robosuite仿真环境与MuJoCo物理引擎,提供从环境配置到代码实现的完整指南。文章重点解析了手柄映射原理、核心控制代码以及数据采集优化技巧,帮助开发者高效完成机械臂控制任务。

weixin_29169505的博客 419

json语法

     JSON        JavaScript Object Notation      js对象表示法   轻量级的数据交换格式 js的一个子集 基于js的对象字面量表示法 文本格式 JSON对象是一个容纳"名/值"对的无序集合 结构扁平是最高效的        JSON有6中类型的值:   对象 数组 字符串 数字 布尔值 null ...

Focus-Fe 205

【libnice】meson + vs2022,生成win32工程

libnice

突围 947

java解析json对象_JAVA解析JSON数据

在使用第三方api的使用,有时候会从网络中获得json数据,所以说我们将如何解析json数据?下面小编将通过以下几点来进行json的讲解JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for ...

weixin_42360846的博客 2361

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java怎么解析json_基于java解析JSON的三种方式详解

本文实例分析了基于java解析JSON的三种方式。分享给大家供大家参考,具体如下:一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组"" 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串...

weixin_34138192的博客 2054

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java解析JSON的三种方式

本文实例分析了基于java解析JSON的三种方式。分享给大家供大家参考,具体如下: 一、什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的...

qq_39559604的博客 7万+

java json 解析_Java解析JSON的四种方式

一、什么是JSONJSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于阅读和编写,同时也易于解析和生成,并有效地提升网络传输效率。二、JSON 语法(1)数据在名称/值对中(2)数据由逗号分隔(3)大括号保存对象(4)中括号保存数组三、Java中JSON的生成与解析的四种方式(简单的Demo):一个...

weixin_28907839的博客 2223

java解析JSON的方法汇总

java解析JSON有多种方法,最常用的有3种:JSON官方的解析、GSON(谷歌)、FastJson(阿里)。 GSON解析: 1.新建项目,引入jar文件(可在GitHub上下载:https://search.maven.org/artifact/com.google.code.gson/gson): 首先,在项目中新建文件夹lib,将jar文件复制到lib下: 其次,依次点击File->Project Structrue->Libraries->+->java...

liuxiaojiangtobeno1的博客 3005

java fastjson 解析json

给大家整理了一些有关【F,JS】的项目学习资料(附讲解~~):https://edu.51cto.com/course/27963.htmlhttps://edu.51cto.com/course/33944.htmlJava Fastjson 解析 JSON 教程 作为一名新入行的开发者,学习如何在 Java 中使用...

weixin_36587269的博客 319

java如何解析json_java 中解析json步骤

一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。Json建构于两种结构:1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keye...

weixin_29213827的博客 951

如何用Java解析JSON文件

一、首先需要在Eclipse工程中导入相关的jar包,jar包参见链接:http://download.youkuaiyun.com/detail/filywysss/4991496二、提供一份待解析的json文件,apkinfo.json如下:[{"name":"帐号","package_name":"com.android.account","check_version":"1.2"},{&quo

m0_38129335的博客 2217

怎样在JAVA中解析JSON

JAVA中解析JSOON的常见类库和代码示例

weixin_44670774的博客 583

java解析json数据_java解析JSON数据详解

JSON是目前最流行的轻量级数据交换语言(没有之一)。尽管他是javaScript的一个子集。但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持。以下是对java语言中解析json数据的总结。要解析json,首先要导入解析json的工具类。import org.json.JSONArray;import org.json.JSONException;import org.json.JS...

weixin_32529407的博客 1013

java 解析json数据

在java中 解析json对象 需要JSON-lib这个java json库 JSONArray类:这个类是把迭代器转化成为JSONObject数组,采用如下方法即可完成JSONArray.fromObject(jsonString),JSONArray.fromObject(jsonList).如果需要反解析的话,则可以迭代解析或者是直接强制解析,反正JSONArray也是一个迭代起来的。

稻香的专栏 1157

Java中怎么把json解析_基于JAVA中的四种JSON解析方式详解

我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式。1、JSON官方2、GSON3、FastJSON4、jacksonJSON操作涉及到的类:public class Student {private int id;private String name;private int age;public int getId() {return id;}publi...

weixin_32159633的博客 292

java解析JSON步骤

一、   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。  Json建构于两种结构:      1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash ta

吧主 1406

Java解析Json数据

​从大一下学期到现在,学了挺久的后台了。从0到现在,一点一点摸索学习的,学习进度慢加上后台乏味枯燥。中途也没学过一段时间,当是看到学习成果的时候,就感觉又充满活力。我的第一篇博客,希望能给编程初学者带来一些帮助。接下来给是我个人对Java解析Json的看法。  什么是Json呢?它就是一对一对的键值对,有它自身的格式要求。 数据在 名称/值对 中; "firstName" : "John"...

quizzes0的博客 1306
上一篇: 常用Web Service汇总(天气预报、时刻表等)
下一篇: 怎样增强MyEclipse的代码自动提示功能
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值