package tools;

 import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import bean.Student; public class Json {
public static void main(String[] args) {
//json对象转json字符串
jsonObjToJsonStr();
//json字符串转json对象
jsonStrToJsonObj();
//list转json
listToJson();
//json转list
jsonToList();
//json转map
jsonToMap();
//map转json
mapToJson();
} /**
* map转json
*/
private static void mapToJson() {
ObjectMapper mapper = new ObjectMapper();
String json = "";
Map<String, String> map = new HashMap<String,String>();
map.put("name", "JSON");
map.put("age", "23");
map.put("address", "北京市西城区");
try {
json = mapper.writeValueAsString(map);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
System.out.println(json);
} /**
* json转map
*/
private static void jsonToMap() {
String json = "{\"name\":\"JSON\",\"address\":\"北京市西城区\",\"age\":23}";
Map<String, String> map = new HashMap<String, String>();
ObjectMapper mapper = new ObjectMapper();
try{
map = mapper.readValue(json, new TypeReference<HashMap<String,String>>(){});
System.out.println(map);
}catch(Exception e){
e.printStackTrace();
}
} /**
* json转list
*/
private static void jsonToList() {
//json转成list
String json ="[\"abc\",\"123\"]";
JSONArray jsonArray = JSONArray.fromObject(json);
List<String> list = (List) JSONArray.toCollection(jsonArray);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
} /**
* list转json
*/
private static void listToJson() {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("123");
//list转成json
String json =JSONArray.fromObject(list).toString();
System.out.println(json);
//运行:["abc","123"]
} /**
* json字符串转json对象
*/
private static void jsonStrToJsonObj() {
//json转为json对象,取属性值
String json ="{\"name\":\"JSON\",\"address\":\"北京市西城区\",\"age\":23}";
JSONObject jo = (JSONObject) JSONObject.parse(json);
String add = jo.getString("address");
System.out.println(add);
} /**
* json对象转json字符串
*/
private static void jsonObjToJsonStr() {
Student stu=new Student();
stu.setName("JSON");
stu.setAge(23);
stu.setAddress("北京市西城区");
//对象转换为json字符串
Gson gson = new Gson();
String json = gson.toJson(stu);
System.out.println(json);
}
}

json与list,map,String之间的互转的更多相关文章

  1. JSONObject,JSONArray,Map,String之间转换

    http://blog.csdn.net/superit401/article/details/51727739 1.String转JSONObject String jsonMessage = &q ...

  2. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  3. JSON对象和String之间的互转及处理

    如题,本文列举了一些在web前端开发中常用的转换及处理方式.使用JSON而不是字符串,主要是为了方便处理. JSON:JavaScript 对象表示法(JavaScript Object Notati ...

  4. int 和String之间的互转

    int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i); ...

  5. List<Map<String, Object>> 与 json 互转

    近期做指纹识别,需要用到缓存文件,数据量并不大,用redis不合适,所以用到了txt文件. 思路是 1.定时查询指纹,存到txt缓存文件中.      2.新增或删除指纹时,查询指纹,存到txt缓存文 ...

  6. C++实现json字符串与map的转换

    开源资源库 jsoncpp-src-0.5.0.tar.gz:https://sourceforge.net/projects/jsoncpp/ jsoncpp-master.ziphttps://g ...

  7. fastjson对象,JSON,字符串,map之间的互转

    1.对象与字符串之间的互转 将对象转换成为字符串 String str = JSON.toJSONString(infoDo); 字符串转换成为对象 InfoDo infoDo = JSON.pars ...

  8. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  9. Json、JavaBean、String等互转

    Json.JavaBean.String等互转 本文介绍简单的Json.JavaBean.String互换(下文JavaBean简称Object对象,这里不是很严谨) 转换关系如下: 其中String ...

随机推荐

  1. 使用mysqldump备份单表数据,并使用navicat导出单表中部分字段到excel

    今天工作上遇到一个问题,客户需要将生产环境上数据库中用户表中的用户名.登录名.邮箱三个字段导出到excel中,查了一下,分两个步骤完成了任务 1. 使用mysqldump命令将生产环境的user表备份 ...

  2. Android_读取元素的数据

    在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>.<application> .<servi ...

  3. CentOS rar

    基本unrar用法: unrar x -o- -y heidian.rar /var/www/ (把heidian.rar 文件,解压到/var/www/ 目录.要注意/ 结束)

  4. Oracle数据库 中的基础的一些语法结构

    方括号里的内容为可选项 大括号是必填 1PL/SQL结构块 DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQ ...

  5. spark集群构建

    一.spark启动有standalong.yarn.cluster,具体的他们之间的区别这里不在赘述,请参考官网.本文采用的是standalong模式进行搭建及将接使用. 1.首先去官网下载需要的sp ...

  6. form表单select的选项值选择

    html: <form action=""> <p>选择城市</p> <p> <select name="" ...

  7. Linux 文件流管理

    1. 打开/关闭文件 1). 打开文件 / fopen 作用: 打开一个文件,将其与文件流联系起来,方便后续的操作 头文件: #include <stdio.h> 函数原型: FILE * ...

  8. [转]How to tell NLog to log exceptions?

    本文转自:https://stackoverflow.com/questions/9199073/how-to-tell-nlog-to-log-exceptions 问: Target: <t ...

  9. 脚手架(create-react-app)没有eject情况下,使用react-scripts的时候,动态设置环境变量

    在实际开发中,例如:有时候打包发布时,需要手动更新版本,比如修改package.json中的version,但是如果有时候忘了修改,那么又得build一次: 如果能动态设置多好,webpack下可以在 ...

  10. 自己实现一个双向绑定的Vue

    我们知道双向绑定是Vue的核心之一,接下来我们自己仿照Vue实现一个基本的功能. 项目代码在GitHub上: https://github.com/zhangKunUserGit/zk-vue