JSONObject使用方法详解

JSONObject使用方法详解/***项目名称:tools*项目包名:com.songfayuantools.json*创建时间:2017年7月31日上午11:58:51*创建者:Administrator-宋发元*创建地点:*/packagecom.songfayuantools.json;importcom.songfayuantools.entity.UserInfo;im

大家好,又见面了,我是你们的朋友全栈君。

/**
 * 项目名称:tools
 * 项目包名:com.songfayuantools.json
 * 创建时间:2017年7月31日上午11:58:51
 * 创建者:Administrator-宋发元
 * 创建地点:
 */
package com.songfayuantools.json;

import com.songfayuantools.entity.UserInfo;

import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

/**
 * 描述:JSONObject使用方法详解
 * 	   JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。
 * @author songfayuan
 * 2017年7月31日上午11:58:51
 */
public class Json {

	/**
	 * 描述:json字符串转java代码
	 * @author songfayuan
	 * 2017年8月2日下午2:24:47
	 */
	public static void jsonToJava() {
		System.out.println("json字符串转java代码");
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject jsonObject = JSONObject.fromObject(jsonStr);
		String username = jsonObject.getString("username");
		String password = jsonObject.getString("password");
		System.err.println("json--->java \n username="+username+"\t passwor="+password);
	}
	
	/**
	 * 描述:java代码封装为json字符串
	 * @author songfayuan
	 * 2017年8月2日下午2:30:58
	 */
	public static void javaToJSON() {
		System.out.println("java代码封装为json字符串");
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("username", "宋发元");
		jsonObject.put("age", 24);
		jsonObject.put("sex", "男");
		System.out.println("java--->json \n " + jsonObject.toString());
	}
	
	/**
	 * 描述:json字符串转xml字符串
	 * @author songfayuan
	 * 2017年8月2日下午2:56:30
	 */
	public static void jsonToXML() {
		System.out.println("json字符串转xml字符串");
		String jsonStr = "{\"username\":\"宋发元\",\"password\":\"123456\",\"age\":\"24\"}";
		JSONObject jsonObject = JSONObject.fromObject(jsonStr);
		XMLSerializer xmlSerializer = new XMLSerializer();
		xmlSerializer.setRootName("user_info");
		xmlSerializer.setTypeHintsEnabled(false);
		String xml = xmlSerializer.write(jsonObject);
		System.out.println("json--->xml \n" + xml);
	}
	
	/**
	 * 描述:xml字符串转json字符串
	 * @author songfayuan
	 * 2017年8月2日下午3:19:25
	 */
	public static void xmlToJSON() {
		System.out.println("xml字符串转json字符串");
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>宋发元</username></user_info>";
		XMLSerializer xmlSerializer = new XMLSerializer();
		JSON json = xmlSerializer.read(xml);
		System.out.println("xml--->json \n" + json.toString());
	}
	
	/**
	 * 描述:javaBean转json字符串
	 * @author songfayuan
	 * 2017年8月2日下午3:39:10
	 */
	public static void javaBeanToJSON() {
		System.out.println("javaBean转json字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("宋发元");
		userInfo.setPassword("123456");
		JSONObject jsonObject = JSONObject.fromObject(userInfo);
		System.out.println("JavaBean-->json \n" + jsonObject.toString());
	}
	
	/**
	 * 描述:javaBean转xml字符串
	 * @author songfayuan
	 * 2017年8月2日下午3:48:08
	 */
	public static void javaBeanToXML() {
		System.out.println("javaBean转xml字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("songfayuan");
		userInfo.setPassword("66666");
		JSONObject jsonObject = JSONObject.fromObject(userInfo);
		XMLSerializer xmlSerializer = new XMLSerializer();
		String xml = xmlSerializer.write(jsonObject, "UTF-8");
		System.out.println("javaBean--->xml \n" + xml);
	}
	
	public static void main(String args[]) {
//		jsonToJava();
//		javaToJSON();
//		jsonToXML();
//		xmlToJSON();
//		javaBeanToJSON();
		javaBeanToXML();
	}
	
}

实体

 

/**
 * 项目名称:tools
 * 项目包名:com.songfayuantools.entity
 * 创建时间:2017年8月2日下午3:34:46
 * 创建者:Administrator-宋发元
 * 创建地点:
 */
package com.songfayuantools.entity;

/**
 * 描述:实体
 * 
 * @author songfayuan 2017年8月2日下午3:34:46
 */
public class UserInfo {
	public String username;
	public String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

maven引入资源

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tools</groupId>
  <artifactId>tools</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>tools Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- <dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.8</version>
	</dependency> -->

	<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
	<dependency>
	    <groupId>net.sf.json-lib</groupId>
	    <artifactId>json-lib</artifactId>
	    <version>2.4</version>
	    <classifier>jdk15</classifier>
	</dependency>
	<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
	<dependency>
	    <groupId>commons-lang</groupId>
	    <artifactId>commons-lang</artifactId>
	    <version>2.6</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
	<dependency>
	    <groupId>commons-logging</groupId>
	    <artifactId>commons-logging</artifactId>
	    <version>1.2</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
	<dependency>
	    <groupId>commons-beanutils</groupId>
	    <artifactId>commons-beanutils</artifactId>
	    <version>1.9.3</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
	<dependency>
	    <groupId>commons-collections</groupId>
	    <artifactId>commons-collections</artifactId>
	    <version>3.2.1</version>
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/net.sf.ezmorph/ezmorph -->
	<dependency>
	    <groupId>net.sf.ezmorph</groupId>
	    <artifactId>ezmorph</artifactId>
	    <version>1.0.6</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/xom/xom -->
	<dependency>
	    <groupId>xom</groupId>
	    <artifactId>xom</artifactId>
	    <version>1.2.5</version>
	</dependency>
	
		
  </dependencies>
  <build>
    <finalName>tools</finalName>
  </build>
</project>

 

JSONObject使用方法详解

传送链

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158840.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 微信小程序轮播图实现详解

    微信小程序轮播图实现详解微信小程序轮播图实现详解先上效果:wxml代码:<swiperautoplayinterval=”2000″circularindicator-color=”#0094ff”indicator-dotsindicator-active-color=”#ff0094″><!–swiper默认高度已经写死,无法改变、无法由内容撑开–><swiper-item><imagemode=”widthFix”src=”../../16151702

  • 如何编程简单的病毒_永恒之蓝病毒如何传播

    如何编程简单的病毒_永恒之蓝病毒如何传播永恒之蓝病毒2018《开发者经济学:开发者国家现状》第15版已发布,它提供了一些非常有趣的见解。SlashData在2018年5月至6月的七周时间内进行了大规模调查,调查覆盖了167个国家的20,500多名开发人员。开发者国家状况报告有六个主要重点领域,包括:数据科学开发人员有兴趣破坏全球经济,但仍致力于定制软件编程语言社区–更新不断发展的技术和新渠道…

  • Arthas – Java 线上问题定位处理的终极利器「建议收藏」

    Arthas – Java 线上问题定位处理的终极利器「建议收藏」前言在使用Arthas之前,当遇到Java线上问题时,如CPU飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后jps、jstack、jmap、jhat、jstat、hprof等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用Arthas轻松定位,迅速解决,及时止损,准时下班。1、Arthas介绍Arthas是Alib…

    2022年10月22日
  • 一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?

    一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?最近在开发一些功能,突然想到在动态注册和反注册receiver的时候一定要用相同的context吗?我不敢肯定咨询了同事,得到的答案是不行的,然而为了进一步佐证他的观点我自己尝试了一下。也就是查了一下相关代码。众所周知android的应用程序在ActivityThread的publicstaticvoidmain(String[]args)中开始调用我们写的代码,Application、A

  • 谷粒商城官网_尚硅谷谷粒商城电商项目

    谷粒商城官网_尚硅谷谷粒商城电商项目后端编写、前端展示、服务注册、配置网关、503问题、跨域、解决跨域、服务注册配置网关、删除数据、后端接口、逻辑删除

  • ubuntu20.04安装pycharm_linux下安装软件命令

    ubuntu20.04安装pycharm_linux下安装软件命令PyCharmIDE2019.1现在已经发布了,许多新特性和改进。全新的JupyterNotebook支持、改进了HTML和CSS的快速文档、快速导航到最近的位置、自定义主题插件等等。PyCharm的新功能JupyterNotebook支持,已经完全重新设计。现在可以在PyCharm2019.1中直接编辑Notebook,并提供方便的并排视图,帮助您更好地了解Notebook的源代码,同…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号