`

java中json的使用

    博客分类:
  • json
 
阅读更多

json串示例

[{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,"name":"name2","password":"password2","remark":"remark2"},{"id":3,"name":"name3","password":"password3","remark":"remark3"}]

主要分为以下几种:

1. 直接构建json串,主要代码;

2. json串 -> java对象;

3. java对象 -> json串/json对象;

4. List<?> -> json串;

5. 对象数组 -> json串。

程序如下:

TestJson.java

import java.util.*;

import net.sf.json.*;

import com.hs.sig.ui.sgms.vo.User;

public class TestJson {

/**

* 初始化userList大小

*/

public static final int USERLISTSIZE = 3; 

/**

* 直接构建json串

* @return

*/

public String toJsonString() {

// 初始化 User 对象

User user = null;

List<User> userList = this.initUserList(USERLISTSIZE);

// 构建 json 串

StringBuffer json = new StringBuffer();

json.append("[");

for (int i = 0; i < userList.size(); i++) {

user = userList.get(i);

json.append("{");

json.append("\"id\":\"").append(user.getId()).append("\",");

json.append("\"name\":\"").append(user.getName()).append("\",");

json.append("\"password\":\"").append(user.getPassword()).append("\",");

json.append("\"remark\":\"").append(user.getRemark()).append('"');

json.append("},");

}

json.deleteCharAt(json.lastIndexOf(","));

json.append("]");

//System.out.println("直接构建 json 串结果:" + json.toString());

return json.toString();

}

/**

* json串 -> java对象

* @return

*/

public String jsonToObject() {

StringBuffer info = new StringBuffer();

if(this.isArray(this.toJsonString())){

JSONArray jSONArray = JSONArray.fromObject(this.toJsonString());

JsonConfig jsonConfig = new JsonConfig();

jsonConfig.setArrayMode(JsonConfig.MODE_LIST);

jsonConfig.setRootClass(User.class);

List<User> userList = (List<User>) JSONSerializer.toJava(jSONArray, jsonConfig);

User user = null;

for (int i = 0; i < userList.size(); i++) {

user = userList.get(i);

info.append("user" + (i + 1) + ".id=" + user.getId());

info.append(",user" + (i + 1) + ".name=" + user.getName());

info.append(",user" + (i + 1) + ".password=" + user.getPassword());

info.append(",user" + (i + 1) + ".remark=" + user.getRemark());

info.append("\n");

}

//System.out.println("json串 -> java对象:" + info.toString());

}

return info.toString();

}

/**

* java对象 -> json串/json对象

* @return

*/

public String objectToJson() {

// 初始化一个user对象

User user = null;

List<User> userList = this.initUserList(USERLISTSIZE);

user = userList.get(0);

// 转换user对象的配置

JsonConfig jsonConfig = new JsonConfig();

// 过滤对象中不需要转化的属性

jsonConfig.setExcludes(new String[]{"id"});

// 将对象user转化为json串

JSONArray jsonArray = JSONArray.fromObject(user, jsonConfig);

//jsonArray = JSONArray.fromObject(user);

// 转化为json对象

//JSONObject jsonObject = JSONObject.fromObject(user, jsonConfig);

//jsonObject = JSONObject.fromObject(user);

return jsonArray.toString();

}

/**

* List<User> -> json串

* @return

*/

public String listToJson(){

List<User> userList = this.initUserList(USERLISTSIZE);

// list转换为JSON串

JSONArray jsonArray = JSONArray.fromObject(userList);

//System.out.println("List<User> -> json串:" + jsonArray.toString());

return jsonArray.toString();

}

/**

* 对象数组 -> json串

* @return

*/

public String arrayToJson() {

List<User> userList = this.initUserList(USERLISTSIZE);

User[] userArray = new User[userList.size()];

for(int i = 0 ; i < userList.size() ; i++){

userArray[i] = userList.get(i);

}

// user数组转为json串

JSONArray jsonArray = JSONArray.fromObject(userArray);

//System.out.println("对象数组 -> json串:" + jsonArray.toString());

return jsonArray.toString();

}

/**

* 初始化用户

* @param userListSize list 的大小

* @return

*/

private List<User> initUserList(int userListSize) {

User user = null;

List<User> userList = new ArrayList<User>();

for (int i = 0; i < userListSize; i++) {

user = new User();

user.setId(i + 1);

user.setName("name" + (i + 1));

user.setPassword("password" + (i + 1));

user.setRemark("remark" + (i + 1));

userList.add(user);

}

return userList;

}

/**

* 判断JSON串是否以"["开头,是则认定为jsonArray,否则认定为jsonObject

* @param str

* @return

*/

private boolean isArray(String str) {

return str.startsWith("[") ? true : false;

}

public static void main(String[] args) {

TestJson testJson = new TestJson();

System.out.println("直接构建json串:" + testJson.toJsonString());

System.out.println("json串 -> java对象:" + testJson.jsonToObject());

System.out.println("java对象 -> json串:" + testJson.objectToJson());

System.out.println("List<User> -> json串:" + testJson.listToJson());

System.out.println("对象数组 -> json串:" + testJson.arrayToJson());

}

}

 User.java

 

public class User {

private Integer id;

private String name;

private String password;

private String remark;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getRemark() {

return remark;

}

public void setRemark(String remark) {

this.remark = remark;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

}

 

直接构建json串:[{"id":"1","name":"name1","password":"password1","remark":"remark1"},{"id":"2","name":"name2","password":"password2","remark":"remark2"},{"id":"3","name":"name3","password":"password3","remark":"remark3"}]

json串 -> java对象:user1.id=1,user1.name=name1,user1.password=password1,user1.remark=remark1

user2.id=2,user2.name=name2,user2.password=password2,user2.remark=remark2

user3.id=3,user3.name=name3,user3.password=password3,user3.remark=remark3

java对象 -> json串:[{"name":"name1","password":"password1","remark":"remark1"}]

List<User> -> json串:[{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,"name":"name2","password":"password2","remark":"remark2"},{"id":3,"name":"name3","password":"password3","remark":"remark3"}]

对象数组 -> json串:[{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,"name":"name2","password":"password2","remark":"remark2"},{"id":3,"name":"name3","password":"password3","remark":"remark3"}]

分享到:
评论

相关推荐

    Java中使用Json

    本文将深入探讨在Java中如何使用JSON,以及其在实际开发中的应用场景。 首先,Java中处理JSON的主要工具有两个:Jackson和Gson。这两个库提供了API,可以帮助我们轻松地将Java对象转换为JSON字符串,以及将JSON字符...

    java中json使用到的所有jar包

    在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输。处理JSON在Java中通常涉及到几个关键的库,这些库提供了JSON的序列化与反序列化功能,以及解析和生成JSON对象...

    Java组装json和java解析json数组

    附件内容为:Java组装map数据,然后转换为json数据格式;Java解析json数据

    java 解析 json文件 java 解析 json文件

    Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...

    JAVA-JSON工具转换类

    在JAVA开发中,处理JSON数据通常需要借助特定的库来完成,如本话题中提到的`json-lib`和`ezmorph`。 `json-lib`是一个Java语言实现的JSON库,它提供了多种数据类型到JSON的转换,包括JavaBean、Map、List、数组等。...

    java调用json参数的webservice

    综上所述,通过Java调用带有JSON参数的WebService,涉及到了Java编程语言的使用、JSON数据格式的处理以及WebService通信机制。开发者需要掌握这些技术来实现不同类型的应用程序之间的互操作性和数据交换。

    java中json使用的jar包

    最近学习json收集的几个jar包,本来以为是两个但是总classnotfound异常,后来把另外几个导进来就可以了,为了给大伙便利,分享出来吧,,刚才看到竟然还有要5分的,哥只要1分绝不坑爹,我也是为了赚点分下载东西。

    java中json处理的使用.doc

    首先,文档中使用的库是`net.sf.json`,这是一个开源的Java库,它提供了对JSON的全面支持,包括序列化和反序列化Java对象到JSON,以及从JSON解析回Java对象。具体来说,`JSONObject`类代表一个JSON对象,而`...

    java-json.jar.zip

    例如,XML的命名空间在JSON中没有直接的表示,XML的属性和JSON的对象键值对也有所不同。不同的库可能会有不同的处理策略,比如忽略某些特性,或者采用特定的编码方式。 此外,为了确保转换的准确性和兼容性,开发者...

    使用Java操作JSON字符串对象

    使用Java操作JSON字符串对象,使用Java操作JSON字符串对象

    java服务端生成json(json服务端)

    在Java中,我们可以使用多种库来实现JSON的生成,如Gson和FastJson。 **Gson库** Google开发的Gson库提供了强大的功能,能够将Java对象转换为JSON字符串,反之亦然。使用Gson,你可以轻松地将Java对象序列化为JSON...

    JAVA中用到的json包

    在Java编程语言以及基于J2EE的企业级应用开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式。它易于人阅读和编写,同时也容易让机器解析和生成。JSON包在Java中扮演着至关重要的角色,...

    java使用Json所需要导入的所有jar包

    为了在Java程序中使用JSON,你需要引入一些特定的库,这些库提供了处理JSON对象的方法和功能。本资源包含的是"java使用Json所需要导入的所有jar包",确保了你在处理JSON数据时所需的全部依赖。 首先,最重要的库是`...

    java中json的封装和解析

    本篇将主要探讨使用Java中的JSON处理,特别是通过Jackson库进行封装和解析。 一、JSON基本概念 JSON是一种独立于语言的数据格式,基于JavaScript语法,但不依赖JavaScript执行。其数据结构主要由对象(Object)和数...

    java解析json完整案例

    在Java中,我们可以使用多种库来处理JSON,其中最常用的包括`org.json`库和`Jackson`库。本案例主要涉及`org.json`库,它是一个小巧且功能强大的JSON库,适用于Java平台。 首先,我们需要在项目中引入`org.json`库...

    java遍历JSON树

    ### Java遍历JSON树知识点详解 ...通过以上介绍,我们可以看到,在Java中遍历JSON树并不复杂,但确实需要理解JSON的基本结构以及所使用的库的具体用法。希望本文能帮助你更好地理解和掌握这一技能。

    使用java请求json接口数据

    在Java编程中,请求JSON接口数据...总之,使用Java请求JSON接口数据是Java开发中的常见任务,涉及到网络通信和JSON解析。理解HTTP协议的基本原理,熟悉Java的HTTP客户端库以及JSON处理库的使用,是掌握这一技能的关键。

    使用java解析json格式的字符串

    JSON官网上推荐的使用java解析json的类库,官网下载后的是未编译打包的java文件,这是我打包后的东东,使用时直接添加进Build path即可,简单实用……

    Java中使用Json的net.sf.json包

    `net.sf.json`库主要包含了两个核心类:`JSONObject`和`JSONArray`,它们分别对应于JSON中的对象和数组类型。`JSONObject`类允许我们以键值对的形式存储数据,而`JSONArray`则可以存储一组有序的值。这两个类提供了...

    java中对单层json进行key字母排序

    描述提到这个资源可以直接在程序中使用,意味着提供了一个功能函数来实现这一操作。 在提供的代码中,可以看到一个名为`getSortJson`的方法,它接受一个JSONObject作为参数,并返回一个新的按key排序后的JSONObject...

Global site tag (gtag.js) - Google Analytics