json在数据传输起了很大的作用,下面说说java中json的使用方法。

文章参考:http://www.codes51.com/article/detail_99574.html

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

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

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的使用方法的更多相关文章

  1. JAVA中使用JSON进行数据传递

    最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JS ...

  2. 转载:JAVA中使用JSON进行数据传递

    转载网址:http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html 最近在做一个基于JAVA Servlet的WEB应用以及对应的An ...

  3. 3、示例(在java中使用JSON)

    教程链接(json-smple1.1.1.jar文件) 链接:http://pan.baidu.com/s/1qXPbYHm 密码:v0f0 如何使用java编程语言编码和解码JSON 首先准备环境以 ...

  4. Java 中extends与implements使用方法

    Java 中extends与implements使用方法 标签: javaclassinterfacestring语言c 2011-04-14 14:57 33314人阅读 评论(7) 收藏 举报 分 ...

  5. Java中的equals和hashCode方法

    本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...

  6. Java中各种(类、方法、属性)访问修饰符与修饰符的说明

    类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被本项目的所 ...

  7. Java中替换HTML标签的方法代码

    这篇文章主要介绍了Java中替换HTML标签的方法代码,需要的朋友可以参考下 replaceAll("\\&[a-zA-Z]{0,9};", "").r ...

  8. java中需要关注的3大方面内容/Java中创建对象的几种方法:

    1)垃圾回收 2)内存管理 3)性能优化 Java中创建对象的几种方法: 1)使用new关键字,创建相应的对象 2)通过Class下面的new Instance创建相应的对象 3)使用I/O流读取相应 ...

  9. Java中字符串的一些常见方法

    1.Java中字符串的一些常见方法 /** * */ package com.you.model; /** * @author Administrator * @date 2014-02-24 */ ...

随机推荐

  1. 第一篇——第一文 SQL Server 备份基础

    原文:第一篇--第一文 SQL Server 备份基础 当看这篇文章之前,请先给你的所有重要的库做一次完整数据库备份.下面正式开始备份还原的旅程. 原文出处: http://blog.csdn.net ...

  2. 5、Cocos2dx 3.0小游戏开发的例子寻找测试三个简单的介绍和总结

    繁重的劳动开发商,当转载请注明出处:http://blog.csdn.net/haomengzhu/article/details/27186557 測试例子简单介绍 Cocos2d-x 为我们提供了 ...

  3. 新RSS reader

    阅读之前采取正确的方法,但是非常不介意,没有收到订阅很大. 走到今天 http://www.feedspot.com 2014/11/8追加:用下来感觉不错. feedspot 的相关快捷键例如以下: ...

  4. LAN远程重启server安全方法

    原创文章.转载请注明出处.(百度经验:http://jingyan.baidu.com/article/454316abaadc41f7a7c03a13.html) 在局域网中,管理和操作server ...

  5. 左右TS分析流

    字节.在TS流里能够填入非常多类型的数据.如视频.音频.自己定义信息等.他的包的结构为,包头为4个字节,负载为184个字节(这184个字节不一定都是有效数据.有一些可能为填充数据). 工作形式: 由于 ...

  6. 它们的定义TextView使之具有跑马灯的效果

    一.引入问题 使用通用textview快乐效应,焦点事件不启动滚动,button目前的焦点事件,但丑,因此,需要定制TextView 天生焦点 个textview FocusedTextView.ja ...

  7. libsvm工具箱C++编程实践2

    转载请注明出处  http://blog.csdn.net/u013491262/article/details/37344193   点击打开链接 上周因为皮肤有点过敏,去医院来来回回一周. 前几天 ...

  8. 【Unity 3D】学习笔记29:游戏的例子——简单的小制作地图

    无论学习.只看不练是坏科学. 因此,要总结回想这怎么生产MMROPG小地图的游戏.于MMROPG游戏类,在游戏世界中行走时导致各地,通常在屏幕的右上角,将有一个区域,以显示当前的游戏场景微缩.在游戏世 ...

  9. ZOJ 3822 可能性DP

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822 本场比赛之前,我记得.见WALK概率路DP称号.那么它应该是可以考虑 ...

  10. HDU 4022 Bombing STL 模拟题

    人工模拟.. #include<stdio.h> #include<iostream> #include<algorithm> #include<vector ...