JSONObject使⽤⽅法详解
/**
* 项⽬名称:tools
* 项⽬包名:com.songfayuantools.json
* 创建时间:2017年7⽉31⽇上午11:58:51
* 创建者:Administrator-宋发元
* 创建地点:
*/
package com.songfayuantools.json;
import ity.UserInfo;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.l.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 = String("username");
String password = String("password");
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", "宋发元");
jsonObject.put("age", 24);
jsonObject.put("sex", "男");
System.out.println("java--->json \n " + String());
}
/**
* 描述: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.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 = ad(xml);
System.out.println("xml--->json \n" + String());
}
/**
* 描述: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" + String());
}
/**
* 描述: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
* 项⽬包名:ity
* 创建时间:2017年8⽉2⽇下午3:34:46
* 创建者:Administrator-宋发元
* 创建地点:
*/
package ity;
/**
* 描述:实体
*
* @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="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/POM/4.0.0 /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></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> -->
<!-- mvnrepository/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>
<!-- mvnrepository/artifact/commons-lang/commons-lang -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<!-- mvnrepository/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- mvnrepository/artifact/commons-beanutils/commons-beanutils -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
fastjson常用方法<!-- mvnrepository/artifact/commons-collections/commons-collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<!-- mvnrepository/artifact/ph/ezmorph -->
<dependency>
<groupId>ph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.6</version>
</dependency>
<!-- mvnrepository/artifact/xom/xom -->
<dependency>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
<version>1.2.5</version>
</dependency>
</dependencies>
<build>
<finalName>tools</finalName>
</build>
</project>
-------------------------------JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
⼀、⾸先来说说fastjson
fastjson 是⼀个性能很好的 Java 语⾔实现的 JSON 解析器和⽣成器,来⾃阿⾥巴巴的⼯程师开发。其主要特点是:
① 快速:fastjson采⽤独创的算法,将parse的速度提升到极致,超过所有基于Java的json库,包括曾经号称最快的jackson;
③零依赖:没有依赖其它任何类库除了JDK,能够直接运⾏在Java SE 5.0以上版本;⽀持Android;开源 (Apache 2.0)。
为什么要说fastjson,因为,JSON.parseObject(String str)和JSONObject.parseObject(String str)就是fastjson中的⽅法。⼆、parseObject(String str)的作⽤
JSON.parseObject(String str)是将str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使⽤其内置的⽅法,进⾏各种处理了。
三、JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
根据源码显⽰:JSON是⼀个抽象类,JSON中有⼀个静态⽅法parseObject(String text),将text解析为⼀个JSONObject对象并返回;JSONObject是⼀个继承⾃JSON的类,当调⽤JSONObject.parseObject(result)时,会直接调⽤⽗类的parseObject(String text)。所以两者没什么区别,⼀个是⽤⽗类去调⽤⽗类⾃⼰的静态的parseObject(String text),⼀个是⽤⼦类去调⽤⽗类的静态parseObject(String text),两者调的是同⼀个⽅法。
---------------------------------从json⾥拿到value
例⼦:
{"testsetTestcaseExecute":{"auditor":"vame","testcaseType":"Exception"}}
代码:
JSONObject object = (JSONObject) JSONObject.parse(str);
System.out.JSONObject("testsetTestcaseExecute").get("auditor"));
System.out.JSONObject("testsetTestcaseExecute").get("testcaseType"));
-----------------------------------------------
json字符串转换为json对象
// 将字符串转为JSON对象再解析
JSONObject json = JSONObject.TaskRelation());
json对象转换为字符串
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.List转JSONArray
List<T> list = new ArrayList<T>();
JSONArray array= JSONArray.JSONString(list));
2.JSONArray转List
JSONArray array = new JSONArray();
List<EventColAttr> list = JSONObject.JSONString(), EventColAttr.class);
3.String转JSONArray
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论