java中使用Json数据

简介:

使用json-lib的程序jar包下载地址:
http://json-lib.sourceforge.net/

 

 

 

注意各个jar包必不可少,否则报错^_^

 


 

JsonTest.java代码如下:


import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonTest {
    
    @SuppressWarnings("unchecked")
    public static void main(String args[]){
        
        //list集合转换为json代码
        List list = new ArrayList();
        list.add("girl");
        list.add("boy
");
        
        JSONArray ja = JSONArray.fromObject(list);
        System.out.println(ja);    
        
        // Map集合转换成json代码
        Map map = new HashMap();
        map.put("name", "kava");
        map.put("bool", Boolean.TRUE);
        map.put("int", new Integer(1));
        map.put("array", new String[]{"a","b"});
        map.put("func", "function(){return 3;}");
        
        JSONObject jo = JSONObject.fromObject(map);
        System.out.println(jo);
        
        //Bean转换成json代码
        JSONObject jsonBean = JSONObject.fromObject(new UserBean("kava","shanghai","88765687"));
        System.out.println(jsonBean);
        
        //一般数据转换为json代码
        JSONArray ja2 = JSONArray.fromObject("['json','shiryu','kava']");
        System.out.println(ja2);
        
        //一组beans转换为json代码
       
List list2 = new ArrayList();
        UserBean u1 = new UserBean("shiryu","shanghai","6666");
        UserBean u2 = new UserBean("tina","guangzhou","5587");
        
        list2.add(u1);
        list2.add(u2);
        JSONArray ja3 = JSONArray.fromObject(list2);
        System.out.println(ja3);    
    }    
}

 


UserBean.java代码如下:

public class UserBean {
    private String username;
    private String city;
    private String tel;
    
    public UserBean() { 
    }
    
    public UserBean(String username,String city,String tel) {
        this.username=username;
        this.city = city;
        this.tel = tel;
    }
    
    public String getUsername() {
        return username;
    }
    
    public void setUsername(String username) {
        this.username = username;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

}

最后控制台结果如下:

["girl","boy"]
{"func":function(){return 3;},"int":1,"bool":true,"name":"kava","array":["a","b"]}
{"city":"shanghai","tel":"88765687","username":"kava"}
["json","shiryu","kava"]
[{"city":"shanghai","tel":"6666","username":"shiryu"},{"city":"guangzhou","tel":"5587","username":"tina"}]

 

 


也可将json数据转为java数据


import net.sf.json.JSONObject;

public class StringToJson {
    public static void main(String args[]){
    String json = "{name=\"kava\",bool:true,int:1,double:2.2,func:function(a){return a;},array:[1,2]}";

    JSONObject jsonObject = JSONObject.fromObject(json); 
    Object bean = JSONObject.toBean(jsonObject);
    String name = jsonObject.getString("name");
    
    System.out.print(name+"--"+bean.toString());     
    }
}

 

原帖地址:http://apps.hi.baidu.com/share/detail/17805020

 

 

目录
相关文章
|
1月前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
|
3月前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
126 3
|
1天前
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
89 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
12天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
55 17
|
2月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
171 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
2月前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
34 3
|
3月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
2月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
2月前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
186 2