使用FastJSON 对Map/JSON/String 进行互转

 

Fastjson是一个Java语言编写的高性能功能完善的JSON库,由阿里巴巴公司团队开发的

 

主要特性主要体现在以下几个方面:

1.高性能

fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。

2.功能强大

支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。

3.无依赖

不需要例外额外的jar,能够直接跑在JDK上。

4.支持范围广

5.开源

jar包及maven地址:http://download.csdn.net/download/cool_summer_moon/10146610

1、String 转 Json

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";  
    JSONObject  jsonObject = JSONObject.parseObject(str);
    System.out.println("json对象是:" + jsonObject);
    Object object = jsonObject.get("name");
    System.out.println("name值是:"+object);
}
  •  
运行结果:
        json对象是:{"name":"cool_summer_moon","age":"24"}
        name值是:cool_summer_moon
  •  

2、Json 转 String

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    //json对象转字符串
    String jsonString = jsonObject.toJSONString();
    System.out.println("json字符串是:" + jsonString);
}
  •  
运行结果:
        json字符串是:{"name":"cool_summer_moon","age":"24"}
  •  

3、String 转 Map

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    //json对象转Map
    Map<String,Object> map = (Map<String,Object>)jsonObject;
    System.out.println("map对象是:" + map);
    Object object = map.get("age");
    System.out.println("age的值是"+object);
}
  •  
运行结果:
        map对象是:{"name":"cool_summer_moon","age":"24"}
        age的值是24
  •  

4、Map 转 String

@Test
public void test(){
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    String jsonString = JSON.toJSONString(map);
    System.out.println("json字符串是:"+jsonString);
}
  •  
运行结果:
        json字符串是:{"name":"cool_summer_moon","age":24}
  •  

5、Map 转 Json

@Test
public void test(){
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    JSONObject json = new JSONObject(map);
    System.out.println("Json对象是:" + json);
}
  •  
运行结果:
        Json对象是:{"name":"cool_summer_moon","age":24}

或者 JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap));

6、Json 转 Map

Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class);

//JOSN.parseObjet()方法同样可以转换

7.将List转换成JSONArray

JSONArray ja = JSONArray.parseArray(JSON.toJSONString(itemList));

8.将JSONArray转换成List

这个涉及功能比较广,有达人整理的更为完善。

链接如下:

http://www.cnblogs.com/goody9807/p/4244862.html

9 json转成对象

List<ChannelItem> channelItemList  = JSON.parseArray(itemJson,ChannelItem.class);

10.json字符串转map

           String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";  
16         //第一种方式  
17         Map maps = (Map)JSON.parse(str);  
18         System.out.println("这个是用JSON类来解析JSON字符串!!!");  
19         for (Object map : maps.entrySet()){  
20             System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());  
21         }  
22         //第二种方式  
23         Map mapTypes = JSON.parseObject(str);  
24         System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");  
25         for (Object obj : mapTypes.keySet()){  
26             System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));  
27         }  
28         //第三种方式  
29         Map mapType = JSON.parseObject(str,Map.class);  
30         System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");  
31         for (Object obj : mapType.keySet()){  
32             System.out.println("key为:"+obj+"值为:"+mapType.get(obj));  
33         }  
34         //第四种方式  
35         /** 
36          * JSONObject是Map接口的一个实现类 
37          */  
38         Map json = (Map) JSONObject.parse(str);  
39         System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");  
40         for (Object map : json.entrySet()){  
41             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
42         }  
43         //第五种方式  
44         /** 
45          * JSONObject是Map接口的一个实现类 
46          */  
47         JSONObject jsonObject = JSONObject.parseObject(str);  
48         System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");  
49         for (Object map : json.entrySet()){  
50             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
51         }  
52         //第六种方式  
53         /** 
54          * JSONObject是Map接口的一个实现类 
55          */  
56         Map mapObj = JSONObject.parseObject(str,Map.class);  
57         System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");  
58         for (Object map: json.entrySet()){  
59             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
60         }  
61         String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +  
62                 "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";  
63        // JSONArray.parse()  
64         System.out.println(json);  

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采集农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的转型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采集系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采集是智慧农业的基础。通过手工录入、传感器自动采集、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收集农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采集和监测的技术难题等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值