json 在java 中的应用

一个保护使用JSON的Java应用程序的方法 JSON是用于在应用程序内共享对象和数据的标准格式。对于Java,不存在对JSON处理的内置支持,但是有几种广泛使用的库可供选择。在本文中,我们将重点介绍最受欢迎的Jackson。 保护使用Jackson进行JSON处理的应用程序时,请务必注意是否使用Java对象存储JSON数据(如使用数据绑定),或者是否在没有相应Java对象的情况下完全操纵JSON数据(如Jackson一样)树模型)。这会影响我们配置混淆设置的方式。 对于数据绑定Java对象(POJO),我们需要保留get和set方法以确保适当的运 阅读详情

json在数据传输中经常会用到,尤其是在大量数据传输或者异步传输中,下面在互联网上搜集一些使用的例子,总结一下,以供日后的更加熟练。

JSONObject类(往往与JSONArray结合起来用,最常用了)

例子:

package javaJsonAPI;

import org.json.JSONObject;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONObject jsonObject = new JSONObject({'name':'DarkRake','age':21});
        System.out.println(jsonObject.get(name));
        System.out.println(jsonObject.get(age));
    }
}
JSONArray类 案例:
package javaJsonAPI;

import org.json.JSONArray;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        String strs[] = { one, two, three };
        JSONArray myjson = new JSONArray(strs);
        for (int i = 0; i < myjson.length(); i++) {
            System.out.println(myjson.getString(i));
        }
    }
}
JSONObject与JSONArray类结合使用
package javaJsonAPI;

import org.json.JSONObject;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        String str = {address: {Province: {ProvinceName: 安徽,City: [{CityName: 六安,   own: [金安区,舒城] },{CityName: 合肥,  own: [肥东,肥西]}]}}};
        JSONObject jo = new JSONObject(str);
        String ProvinceName = jo.getJSONObject(address)//
                .getJSONObject(Province).get(ProvinceName).toString();//
        System.out.println(ProvinceName);
        String cityName = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).get(CityName)//
                .toString();
        System.out.println(   + cityName);
        String town1 = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).getJSONArray(town)//
                .get(0).toString();
        System.out.println(      + town1);
        String town2 = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).getJSONArray(town)//
                .get(1).toString();
        System.out.println(      + town2);
    }
}
JSONStringer

->快速构建一个JSON串,并可以写入文件中去
基本方法介绍:
JSONStringer是JSONWriter的子类;

JSONStringer一般通过object().key().value().key().value().endObject()进行构造;

JSONString ():构造函数

object()表明开始一个对象,即添加{ ;

endObject()表明结束一个对象,即添加 } ;

array()表明开始一个数组,即添加一个 [ ;

endArray()表明结束一个数组,即添加一个 ] ;

key()表示添加一个key;

value()表示添加一个value;

注意:通过该方法,Object之间的“,”以及Array数组各个value之间的“,”都是自动添加的

简单案例:

package javaJsonAPI;

import org.json.JSONStringer;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONStringer js = new JSONStringer();
        js.array();
            js.object();
                js.key(name);
                js.value(hj);
                js.key(age);
                js.value(21);
            js.endObject();
            js.object();
                js.key(name);
                js.value(darkrake);
                js.key(age);
                js.value(21);
            js.endObject();
        js.endArray();
        System.out.println(js.toString());
    }
}
综合案例:
package javaJsonAPI;

import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONStringer;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONStringer js = new JSONStringer();
        // 创建book1
        JSONObject book1 = new JSONObject();
            book1.put(name, Java);
            JSONArray ja1 = new JSONArray();
            String str1[] = { LiuWANJUN, XXX };
            ja1.put(str1);
            book1.put(author, ja1);
            book1.put(price, ¥108);
        // 创建book2
        JSONObject book2 = new JSONObject();
            book2.put(name, JavaScript);
            JSONArray ja2 = new JSONArray();
            String str2[] = { LiSongFeng, CaoLi };
            ja2.put(str2);
            book2.put(author, ja2);
            book2.put(price, ¥108);
        js.object();
            js.key(Book);
            js.array();
                js.value(book1);
                js.value(book2);
            js.endArray();
        js.endObject();
        System.out.println(js.toString());
    }
}
{
  Book: [
    {
      author: [
        [
          LiuWANJUN,
          XXX
        ]
      ],
      price: ¥108,
      name: Java
    },
    {
      author: [
        [
          LiSongFeng,
          CaoLi
        ]
      ],
      price: ¥108,
      name: JavaScript
    }
  ]
}

转换成XML即为:

<book>
        LiuWANJUN</author>
        XXX</author>
        <price>¥108</price>
        <name>Java</name>
    </book>
    <book>
        LiSongFeng</author>
        CaoLi</author>
        <price>¥108</price>
        <name>JavaScript</name>
    </book>
总结:

1.JSON是一种数据交换的格式,在web项目中具有着广泛的应用,尤其是AJAX一步加载数据,往往都是用json格式的数据,而不是传统的XML;
2.JSON只有两种结构,Object和Array
3.不知道我写的有没有错,我也是参考了别人的学习方案进行学习和理解的,下周有时间,抽空学习前段JSON的应用吧,这里写的主要是Java后台的操作

Java常见应用——Json,二维码生成,加密解密应用 Java常见应用——Json,二维码生成,加密解密应用 一.JSON 1.下载json架包,json官网:json.org 2.将Map/JavaBean/String转化成json对象,只需要使用JSONObject的构造方法即可 package com.nike.app.json; import com.nike.app.reflect.Address; import com.nike.ap... 阅读详情

相关推荐

47、Java与JSON:全面解析与应用指南

本文全面解析了JSON在Java开发中的应用,涵盖JSON基本语法、常用处理库(如Jackson、Gson和org.)、序列化与反序列化操作、与Web服务、数据库、前端的交互,以及JSON在配置文件、日志记录、消息队列等场景的使用。同时介绍了最佳实践及跨语言支持,是开发者掌握JSON技术的实用指南。

convnet3designer的博客 124

json在Java中的应用

在Java中使用json的数据的相关方法

ZJC_4的博客 926

48、Java与JSON:解析与应用

本文详细介绍了JSON在Java中的应用,涵盖了JSON的基本概念、常用库(如Jackson和Gson)的使用方法、复杂数据结构的处理技巧、异常处理机制、性能优化策略、安全性最佳实践以及国际化支持等内容。通过丰富的代码示例和应用场景解析,旨在帮助开发者全面掌握JSON在现代Web开发中的核心应用,提升开发效率与代码质量。

convnet3designer的博客 83

深入理解JSON及其在Java中的应用

在现代的Web开发中,JSON(JavaScript Object Notation)扮演了极其重要的角色。它是一种轻量级的数据交换格式,由于其易于阅读和编写,同时也易于机器解析和生成,因此广泛应用于网络数据交换和配置文件。JSON:JavaScriptObjectNotation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法,类似 XML。JSON 比 XML更小、更快,更易解析。{ "name":"Leo" , "address":"江苏省" },

分享思想,留下痕迹。 1万+

掌握JSON在Java中的应用

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但JSON是完全独立于语言的文本格式。尽管JSON与JavaScript有紧密的关系,但由于其简洁性、易用性和语言无关性,JSON已经成为各种编程语言中数据交换的事实标准。在Java中,所有的数据类型都分为两大类:基本数据类型和引用类型。Java中的基本数据类型指的是Java语言内置的,如int、char等。

weixin_42575505的博客 990

Java JSON标签库:json-taglib的实战应用

本文还有配套的精品资源,点击获取 简介:JSON是一种轻量级的数据交换格式,广泛用于数据的读写和传输。json-taglib为Java开发者提供了一种便捷的方式来处理JSON数据,特别是在JSP页面中。通过引入特定的标签如 <json:object> 、 <json:property> 等,开发者可以轻松地将Java对象转...

weixin_42298164的博客 1295

在Java应用中使用Json

一、what's Json?           JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。在数据传输数据过程中,传递的只是一种符合Json语法格式的字符串,归根到底,传输的还是字符串。在web应用程序开发中,可以通过json实现前台与后台之间的数据交换。          JSON建构有两种结构:            json简单说就是

fycheung的专栏 6000

嵌入式状态机编程-QP状态机框架与常见状态机方法

状态机基本术语 现态:是指当前所处的状态。 条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。 传统有限状态机Fsm实现方法 如图,是一个定时计数器,计数器存在两种状态,一种为设置状态,一种为计时状态 设

qq_36969440的博客 9663

JSON 在java javascript中的应用

JSON 官网:http://www.json.org/json-zh.html Java 一、导入jar包  json-lib(如下,需要以下依赖包)   或者  org . json(没有依赖包,但不能直接和bean交互)   二、创建JSON对象   JSONArray、 JSONArray array=JSON.fromObject(这里可以放List、Array 、js

xiangbing92的博客 285

清华电子系保研面试全记录:五轮硬核考核+工程硕博专项解析(附真题)

本文详细解析了清华大学电子工程系保研面试的完整流程,重点剖析了其标志性的五轮专业面试(涵盖电路、电磁场、信号系统、计算机与AI)和综合组群面,并深入解读了工程硕博改革专项的考核要点与备战策略。文章提供了各专业组的真题示例与应对方法,旨在帮助电子信息相关专业学子系统准备,从容应对这场高强度的知识与综合素质挑战。

u0v1w2x3的博客 587

利用wolcmd.exe批处理执行远程唤醒

代码如下: @echo off cls :check if exist wolcmd.exe goto targetmac echo 缺少wolcmd.exe echo. goto end :targetmac cls echo -------------------------------------------------------- echo 目标主机PC-01地址:40235678A...

Chriseo的博客 6947

json简介及在Java中的应用

JSON简介 JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式。其作用和xml有点类似,但是 比 XML 更小、更快,更易解析。JSON 解析器和 JSON 库支持许多不同的编程语言。JSON 语法规则 JSON 对象在花括号中书写,对象可以包含多个名称/值对:如 var jsonObj = { "firstName":"Jo

实践是最好的方法 3506

别再为数码管引脚发愁了!用STM32的普通IO口驱动TM1650数码管模块(附完整模拟I2C代码)

本文详细介绍了如何利用STM32的普通IO口通过模拟I2C协议驱动TM1650数码管模块,提供了完整的硬件连接方案和软件实现代码。通过模拟I2C技术,开发者可以灵活使用任意GPIO引脚控制多位数码管显示,解决了传统驱动方式占用大量IO资源的问题。文章包含TM1650寄存器解析、亮度控制等实用功能实现,并分享了常见问题排查与性能优化技巧。

weixin_30764771的博客 658

JSON在JS与Java中的基础应用

文章目录语法规则JSON在JS中的应用初始化JSON转字符串字符串转JSONJSON与Java的交互将实体类进行序列化与反序列化FastJson注解 JSON(JavaScript Object Notation)是一种JavaScript对象标识法,是一种轻量级的文本数据交互格式,独立于语言,具有自我描述性,更容易理解。 语法规则 数据由键(key)值(value)描述用逗号分隔 大括号表示一个完整的对象,可以拥有多个键值对 中括号保存数组,多个对象之间使用逗号分隔 例如: [ { "name"

Do_GH的博客 178

字节跳动程序媛教你如何刷算法题:面试手撕代码我就没怕过

本人上一次刷题还是大一的C语言期末考试……但是面试中算法考核截止上岸前一直保持着100%正确率的光辉记录。 本文将给你指明一条刷题的决胜指南。并从算法的重要性、题库的选择以及刷题的三大步骤分别进行讲解,彻底解决你所有关于面试算法所有的困扰。

Stay Hungry Stay Foolish 求知若饥 虚心若愚 2万+

水下探测小白必看:单波束vs多波束声呐,5分钟搞懂核心区别

本文为水下探测新手清晰解析了单波束与多波束声呐的核心区别。单波束声呐如同精准的“手电筒”,进行逐点扫描,适用于定点测深和目标探测;而多波束声呐则像“聚光灯”,能一次性覆盖一个扇区,高效获取海底地形三维信息,是海底测绘和水下三维建模的理想选择。文章通过生动的比喻和对比表格,帮助读者快速理解两者原理、效率差异及适用场景。

linux6sysadmin的博客 1046

XML,JSON与Java中的应用

XML与JSON XML 简介 可扩展标记语言(eXtensible Markup Language)。 特性: xml具有平台无关性, 是一门独立的标记语言. xml具有自我描述性 为什么学习XML? 网络数据传输. (现在常用JSON,因为性能更好,但没有xml阅读起来清晰) 数据存储 (较少,基本不用) 配置文件 (常用作xm,也用properties) XML文件 .xml是保存XML数据的一种方式 XML数据也可以以其他的方式存在(如在内存中构建XML数据)。 不要将XML语言狭隘的理解成

qq_45568467的博客 719

AutoSAR EcuM系列01- EcuM模块的功能概述和变体类型

在【ECU的软硬件架构】文章中我们了解ECU的功能和组成,那么ECU具体是怎么启动的呢?我们知道,AutoSAR标准架构有三层,即APPL应用层、RTE层和BSW层。而这些层又被进一步划分为更多单独的组件,如BSW层可能有80多个组件。在ECU启动时,这些组件必须相互交互,有时也必须以某种顺序交互。这些组件的启动顺序由ECU管理器模块或EcuM处理。EcuM负责整个ECU的初始化和去初始化,包括对一些系统模块如。......

1766

Java中Json格式数据的应用

JSON是一种很简洁很重要的数据格式,通常用来交换传输数据,广泛使用于JavaScript技术中,并逐渐在各种流行编程语言中火了起来。在Java中也有一个JSON的库,用来重要作用就是Java对象与JSON、XML数据的相互转换,有着重要的应用。   开源的JSON库主页:http://json-lib.sourceforge.net/   环境:JDK5 , json-lib-2.3-jdk

muzizhuben的专栏 805

生成模型实战 | VQ-GAN(Vector Quantized-Generative Adversarial Network)

向量量化生成对抗网络 (Vector Quantized-Generative Adversarial Network, VQ-GAN) 结合了向量量化变分子自编码器 (VQ-VAE) 和生成对抗网络 (GAN) 的优势,通过向量量化 (Vector Quantised, VQ) 构建离散潜空间,结合感知损失与对抗损失,在保持语义一致性的同时能够生成纹理细节丰富的图像。在本节中,我们将详细解释 VQ-GAN 的技术原理和各个组成,并使用 PyTorch 从零开始实现 VQ-GAN。

盼小辉丶的博客 6665

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JSON 在 Java 中的应用:手动生成与使用库的对比

JSON 是一种基于文本的数据格式,用于在不同系统间交换数据。相比 XML,它更轻量,易于生成和解析,且被所有主流编程语言支持。对象:键值对的集合,用大括号{}包裹,例如:数组:有序列表,用方括号[]包裹,例如:JSON 的语法不敏感于空白字符,因此可以压缩以减少传输大小,但通常保持格式化以便于人类阅读。JSON 的广泛支持使其成为 RESTful API 和 Web 服务的首选数据格式。

静水深流 1843

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java json应用_JavaWeb项目中Json应用

http://www.cnblogs.com/zq-boke/p/5833387.html。。这是原博文的地址,为了方便记忆,我转载了过来一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式:$.parseJSON( jsonstr );//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox,chr...

weixin_42106765的博客 173

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JSON在java中的应用

<br />import java.util.ArrayList;<br />import java.util.HashMap;<br />import java.util.List;<br />import java.util.Map;<br />import net.sf.json.JSONArray;<br />import net.sf.json.JSONObject;<br />public class Test {<br /> public static void main(String[] a

我的IT生涯 516

JSON格式及Java中的应用

记录json学习的记录

qq_43563660的博客 1118
上一篇: Mybatis和hibernate比较
下一篇: java中怎么使用json字符串
Codegeek_jfl
博客等级 码龄11年 13粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值