scala中使用smart-json将json与map相互转换
来源:互联网 发布:java 正则表达式 空格 编辑:程序博客网 时间:2024/05/20 03:46
json解析工具使用的smart-json,曾经对比过java的Fastjson,gson。scala的json4s,lift-json。
其中smart-json解析速度是最快的。
编写环境
scala 2.10.4
smart-json 1.3.1
直接上代码:
import java.utilimport net.minidev.json.{JSONObject}import net.minidev.json.parser.JSONParserimport scala.collection.mutableimport scala.collection.JavaConversions.mapAsScalaMapimport scala.collection.JavaConversions.mutableMapAsJavaMapobject JsonUtil extends App{ /** * 将map转为json * @param map 输入格式 mutable.Map[String,Object] * @return * */ def map2Json(map : mutable.Map[String,Object]) : String = { val jsonString = JSONObject.toJSONString(map) jsonString } /** * 将json转化为Map * @param json 输入json字符串 * @return * */ def json2Map(json : String) : mutable.HashMap[String,Object] = { val map : mutable.HashMap[String,Object]= mutable.HashMap() val jsonParser =new JSONParser() //将string转化为jsonObject val jsonObj: JSONObject = jsonParser.parse(json).asInstanceOf[JSONObject] //获取所有键 val jsonKey = jsonObj.keySet() val iter = jsonKey.iterator() while (iter.hasNext){ val field = iter.next() val value = jsonObj.get(field).toString if(value.startsWith("{")&&value.endsWith("}")){ val value = mapAsScalaMap(jsonObj.get(field).asInstanceOf[util.HashMap[String, String]]) map.put(field,value) }else{ map.put(field,value) } } map }}
0 0
- scala中使用smart-json将json与map相互转换
- Java中Bean与Map/Json/DBObject的相互转换
- Java_jackson_bean/map/list与json相互转换
- Java:JSON与Map相互转换
- scala中对象与map转json
- js中json与string相互转换
- 在js中json字符串与json的相互转换
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- 使用Gson将类和json字符串相互转换
- JSON对象与JSON字符串相互转换
- JSON对象与JSON字符串相互转换
- json字符串与json对象相互转换
- json字符串与json对象相互转换
- ios json 与JSON ,NSDictionary相互转换
- JSON对象与JSON字符串相互转换
- 【JSON】json与List的相互转换
- JSON对象与JSON字符串相互转换
- json字符串与json对象相互转换
- 沉思一盲进
- 学习文章连载十五
- oracle某用户最近执行的sql
- what-to-tune-in-mysql-56-after-installation
- extends的方法调用
- scala中使用smart-json将json与map相互转换
- java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
- 《HBase权威指南》读书笔记5:第五章 客户端API: 管理功能
- 九度OJ 1087:约数的个数 (数字特性)
- Spring AOP三种拦截方式举例详解
- hashmap和hashset的区别
- c语言中字符串的输入和输出
- HDU 1695 GCD(莫比乌斯反演)
- Hashtable与ConcurrentHashMap区别