java生成json数据示例

 更新时间:2014年04月07日 08:33:57   投稿:zxhpj  
这篇文章主要介绍了java生成json数据示例,需要的朋友可以参考下



JsonTools.java

复制代码 代码如下:

package com.lihua.json.tools;

import net.sf.json.JSONObject;

public class JsonTools {

 public JsonTools() {

 }

 /**
  * @param key
  *            表示json字符串的头信息
  * @param value
  *            是对解析的集合的类型
  * @return
  */
 //将数据转换为Json
 public static String createJsonString(String key, Object value) {
  JSONObject jsonObject = new JSONObject();
  jsonObject.put(key, value);
  return jsonObject.toString();

 }

}

Person.java:

复制代码 代码如下:

package com.lihua.json.domain;

public class Person {

 private int id;
 private String name;
 private String address;


 public Person() {
 }

 public Person(int id, String name, String address) {
  super();
  this.id = id;
  this.name = name;
  this.address = address;
 }

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getAddress() {
  return address;
 }

 public void setAddress(String address) {
  this.address = address;
 }

 //重写toString()方法
 @Override
 public String toString() {
  return "Person [id=" + id + ", name=" + name + ", address=" + address
    + "]";
 }

}

JsonService.java :

复制代码 代码如下:

package com.lihua.json.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.lihua.json.domain.Person;

public class JsonService {

 public JsonService() {
  
 }
 
 //声明一个Person类型的方法,并为其添加单个对象
 public Person getPerson() {
  Person person = new Person(1001,"jack","beijing");
  return person;
  
 }
 //声明一个List<Person>类型的方法,并为其添加多个对象
 public List<Person> getlistPerson() {
  List<Person> list = new ArrayList<Person>();
  Person person1 = new Person(100,"jack","广东");
  Person person2 = new Person(101,"rose","广西");
  list.add(person1);
  list.add(person2);
  return list;
 }
 //声明一个List<String>类型的方法,并为其添加单个对象
 public List<String> getlistString() {
  List<String> list = new ArrayList<String>();
  list.add("北京");
  list.add("上海");
  list.add("广东");
  list.add("广西");
  return list;
 }
 
 //声明一个List<Map<String,Object>>类型的方法,并为其添加多个对象
 public List<Map<String,Object>> getListMap() {
 
  List<Map<String,Object>>  list = new ArrayList<Map<String,Object>>();
  Map<String,Object>  map1 = new HashMap<String,Object>();
  map1.put("id", 100);
  map1.put("name", "jack");
  map1.put("address", "北京");
  
  Map<String,Object>  map2 = new HashMap<String,Object>();
  map2.put("id", 100);
  map2.put("name", "rose");
  map2.put("address", "上海");
  
  list.add(map1);
  list.add(map2);
  return list;
 }
 
 
}

Test.java :

复制代码 代码如下:

package com.lihua.json.test;

import java.util.List;
import java.util.Map;

import com.lihua.json.domain.Person;
import com.lihua.json.service.JsonService;
import com.lihua.json.tools.JsonTools;

public class Test {

 public Test() {
  
 }

 public static void main(String[] args) {
  String msg = "";
  //new一个JsonService对象
  JsonService service = new JsonService();
  //声明一个Person对象,并取得person对象中的数据
  Person person = service.getPerson();
  //将person对象中的数据转换为json数据,并保存到msg中
  msg = JsonTools.createJsonString("person", person);
  System.out.println("---->"+msg);
  
  List<Person> list = service.getlistPerson();
  msg = JsonTools.createJsonString("person", list);
  System.out.println("---->"+msg);
  
  
  List<Map<String, Object>> listmap = service.getListMap();
  msg = JsonTools.createJsonString("person", listmap);
  System.out.println("---->"+msg);
 }
}

运行结果:

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

相关文章

  • SpringBoot中使用Knife4J的解决方案

    SpringBoot中使用Knife4J的解决方案

    knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,这篇文章主要介绍了SpringBoot中使用Knife4J,需要的朋友可以参考下
    2022-10-10
  • Springboot中LocalDateTime对象返回给前端格式化解决方案

    Springboot中LocalDateTime对象返回给前端格式化解决方案

    在项目开发当中前后端使用什么样的时间格式,是一个值得关注的问题,这篇文章主要给大家介绍了关于Springboot中LocalDateTime对象返回给前端格式化的解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • java多线程返回值使用示例(callable与futuretask)

    java多线程返回值使用示例(callable与futuretask)

    这篇文章主要介绍了多线程返回值使用示例(callable与futuretask),需要的朋友可以参考下
    2014-04-04
  • 解决FontConfiguration.getVersion报空指针异常的问题

    解决FontConfiguration.getVersion报空指针异常的问题

    这篇文章主要介绍了解决FontConfiguration.getVersion报空指针异常的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Redis高并发场景防止库存数量超卖少卖

    Redis高并发场景防止库存数量超卖少卖

    商品超卖是销售数量超过实际库存的情况,常因库存管理不当引发,传统库存管理在高并发环境下易出错,可通过线程加锁或使用Redis同步库存状态解决,本文就来详细的介绍一下,感兴趣的可以了解一下
    2024-09-09
  • 解析Java 中for循环和foreach循环哪个更快

    解析Java 中for循环和foreach循环哪个更快

    这篇文章主要介绍了Java中for循环和foreach循环哪个更快示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java获取任意http网页源代码的方法

    Java获取任意http网页源代码的方法

    这篇文章主要介绍了Java获取任意http网页源代码的方法,可实现获取网页代码以及去除HTML标签的代码功能,涉及Java正则操作相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • Spring之ShutDown Hook死锁现象解读

    Spring之ShutDown Hook死锁现象解读

    这篇文章主要介绍了Spring之ShutDown Hook死锁现象解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • MyBatis基本实现过程

    MyBatis基本实现过程

    这篇文章主要介绍了Spring整合mybatis实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-07-07
  • Mybatis-Plus接口BaseMapper与Services使用详解

    Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论