Json字符串和map和HashMap之间的转换,阿里巴巴Java编程笔试题

com.alibaba

fastjson

1.2.47

导入之后就可以愉快滴使用 了。

例子如下

package test;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.collections.map.HashedMap;

import com.alibaba.fastjson.JSON;

public class JsonTest {

public static void main(String[] args){

String params="{“version”:“1.0”,“charset”:“UTF-8”,“sign”:“f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7”,“signType”:“SHA-256”,“reqData”:{“nextKeyValue”:"",“dateTime”:“20160825113210”,“operatorNo”:“9999”,“merchantNo”:“000054”,“date”:“20160116”,“branchNo”:“0755”}}";

HashMap<String, Object> hashMap=JSON.parseObject(params, HashMap.class);

System.err.println(“hashmap=”+hashMap);

Map<String, Object> map=JSON.parseObject(params, Map.class);

System.out.println(“map=”+map);

}

}

输出结果

hashmap={sign=f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7, signType=SHA-256, reqData={“nextKeyValue”:"",“dateTime”:“20160825113210”,“operatorNo”:“9999”,“merchantNo”:“000054”,“branchNo”:“0755”,“date”:“20160116”}, charset=UTF-8, version=1.0}

map={sign=f94b7eb96d529bfe5b28d57288dd5b4ffb576c2ff98b2fa4ff2be6f70ab8b6e7, signType=SHA-256, reqData={“nextKeyValue”:"",“dateTime”:“20160825113210”,“operatorNo”:“9999”,“merchantNo”:“000054”,“branchNo”:“0755”,“date”:“20160116”}, charset=UTF-8, version=1.0}

当然,JSON.parseObject(String,Clazz)只是其中的一个。

package com.zkn.newlearn.json;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import java.util.Map;

/**

  • JSON字符串自动转换

  • Created by zkn on 2016/8/22.

*/

public class JsonToMapTest01 {

public static void main(String[] args){

String str = "{“0”:“zhangsan”,“1”:“lisi”,“2”:“wangwu”,“3”:"maliu\

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

“}”;

//第一种方式

Map maps = (Map)JSON.parse(str);

System.out.println(“这个是用JSON类来解析JSON字符串!!!”);

for (Object map : maps.entrySet()){

System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());

}

//第二种方式

Map mapTypes = JSON.parseObject(str);

System.out.println(“这个是用JSON类的parseObject来解析JSON字符串!!!”);

for (Object obj : mapTypes.keySet()){

System.out.println(“key为:”+obj+“值为:”+mapTypes.get(obj));

}

//第三种方式

Map mapType = JSON.parseObject(str,Map.class);

System.out.println(“这个是用JSON类,指定解析类型,来解析JSON字符串!!!”);

for (Object obj : mapType.keySet()){

System.out.println(“key为:”+obj+“值为:”+mapType.get(obj));

}

//第四种方式

/**

  • JSONObject是Map接口的一个实现类

版权声明:本文为m0_64867152原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。