返回顶部
首页 > 资讯 > 精选 >java对象怎么与JSON互相转换
  • 184
分享到

java对象怎么与JSON互相转换

jsonjavaava 2023-05-31 05:05:10 184人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关java对象怎么与JSON互相转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。具体方法如下:import java.beans.IntrospectionExc

这篇文章将为大家详细讲解有关java对象怎么与JSON互相转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

具体方法如下:

import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.json.JSONObject;public class JsonUtils {  private static String beanToJson(Object bean) {  StringBuilder json = new StringBuilder();  json.append("{");  PropertyDescriptor[] props = null;  try {   props = Introspector.getBeanInfo(bean.getClass(), Object.class)     .getPropertyDescriptors();  } catch (IntrospectionException e) {  }  if (props != null) {   for (int i = 0; i < props.length; i++) {    try {     String name = objToJson(props[i].getName());     String value = objToJson(props[i].getReadMethod()       .invoke(bean));     json.append(name);     json.append(":");     json.append(value);     json.append(",");    } catch (Exception e) {    }   }   json.setCharAt(json.length() - 1, '}');  } else {   json.append("}");  }  return json.toString(); }  private static String listToJson(List<&#63;> list) {  StringBuilder json = new StringBuilder();  json.append("[");  if (list != null && list.size() > 0) {   for (Object obj : list) {    json.append(objToJson(obj));    json.append(",");   }   json.setCharAt(json.length() - 1, ']');  } else {   json.append("]");  }  return json.toString(); }  private static String arrayToJson(Object[] array) {  StringBuilder json = new StringBuilder();  json.append("[");  if (array != null && array.length > 0) {   for (Object obj : array) {    json.append(objToJson(obj));    json.append(",");   }   json.setCharAt(json.length() - 1, ']');  } else {   json.append("]");  }  return json.toString(); }  private static String mapToJson(Map<&#63;, &#63;> map) {  StringBuilder json = new StringBuilder();  json.append("{");  if (map != null && map.size() > 0) {   for (Object key : map.keySet()) {    json.append(objToJson(key));    json.append(":");    json.append(objToJson(map.get(key)));    json.append(",");   }   json.setCharAt(json.length() - 1, '}');  } else {   json.append("}");  }  return json.toString(); }  private static String setToJson(Set<&#63;> set) {  StringBuilder json = new StringBuilder();  json.append("[");  if (set != null && set.size() > 0) {   for (Object obj : set) {    json.append(objToJson(obj));    json.append(",");   }   json.setCharAt(json.length() - 1, ']');  } else {   json.append("]");  }  return json.toString(); } private static String stringToJson(String s) {  if (s == null) {   return "";  }  StringBuilder sb = new StringBuilder();  for (int i = 0; i < s.length(); i++) {   char ch = s.charAt(i);   switch (ch) {   case '"':    sb.append("\\\"");    break;   case '\\':    sb.append("\\\\");    break;   case '\b':    sb.append("\\b");    break;   case '\f':    sb.append("\\f");    break;   case '\n':    sb.append("\\n");    break;   case '\r':    sb.append("\\r");    break;   case '\t':    sb.append("\\t");    break;   case '/':    sb.append("\\/");    break;   default:    if (ch >= '\u0000' && ch <= '\u001F') {     String ss = Integer.toHexString(ch);     sb.append("\\u");     for (int k = 0; k < 4 - ss.length(); k++) {      sb.append('0');     }     sb.append(ss.toUpperCase());    } else {     sb.append(ch);    }   }  }  return sb.toString(); } public static String objToJson(Object obj) {  StringBuilder json = new StringBuilder();  if (obj == null) {   json.append("\"\"");  } else if (obj instanceof Number) {   Number num = (Number)obj;   json.append(num.toString());  } else if (obj instanceof Boolean) {   Boolean bl = (Boolean)obj;   json.append(bl.toString());  } else if (obj instanceof String) {   json.append("\"").append(stringToJson(obj.toString())).append("\"");  } else if (obj instanceof Object[]) {   json.append(arrayToJson((Object[]) obj));  } else if (obj instanceof List) {   json.append(listToJson((List) obj));  } else if (obj instanceof Map) {   json.append(mapToJson((Map) obj));  } else if (obj instanceof Set) {   json.append(setToJson((Set) obj));  } else {   json.append(beanToJson(obj));  }  return json.toString(); }   @SuppressWarnings("unchecked") public static Map<String, Object> json2Map(String jsonString) {    Map<String, Object> map = new HashMap<String, Object>();  try {   if(null != jsonString && !"".equals(jsonString)){    JSONObject jsonObject = new JSONObject(jsonString);       Iterator keyIter = jsonObject.keys();    String key = "";    Object value = null;       while (keyIter.hasNext()) {     key = (String) keyIter.next();     value = jsonObject.get(key);     map.put(key, value);    }   }  } catch (Exception e) {   e.printStackTrace();  }  return map; }  //测试方法 public static void main(String[] args) {  Map<String,Object> params = new HashMap<String,Object>();  params.put("callId123", Integer.valueOf(1000));  Map retMap = new HashMap();  retMap.put("params", params);  retMap.put("result", true);  List ls = new ArrayList();  ls.add(new HashMap());  ls.add("hello world!!");  ls.add(new String[4]);  retMap.put("list", ls);    String[] strArray = new String[10];  strArray[1]="first";  strArray[2]="2";  strArray[3]="3";  System.out.println("Boolean:"+JsonUtils.objToJson(true));  System.out.println("Number:"+JsonUtils.objToJson(23.3));  System.out.println("String:"+JsonUtils.objToJson("sdhfsjdgksdlkjfk\"sd,!#%$^&*#(*@&*%&*$fsdfsdfsdf"));  System.out.println("Map :"+JsonUtils.objToJson(retMap));  System.out.println("List:"+JsonUtils.objToJson(ls));  System.out.println("Array:"+JsonUtils.objToJson(strArray));    String json = JsonUtils.objToJson(retMap);  Map r = JsonUtils.json2Map(json);  System.out.println(r.get("callId123"));     }}

--结束END--

本文标题: java对象怎么与JSON互相转换

本文链接: https://lsjlt.com/news/223668.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java对象怎么与JSON互相转换
    这篇文章将为大家详细讲解有关java对象怎么与JSON互相转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。具体方法如下:import java.beans.IntrospectionExc...
    99+
    2023-05-31
    json java ava
  • java对象与Json字符串的相互转换
    文章目录 1.Json对象转换为java 对象 2. Java对象转换JSON 1.Json对象转换为java 对象 导入jackson的相关jar包 创建Jackson核心对象 ObjectMapper 调用ObjectMapper的相关...
    99+
    2023-10-23
    java json servlet
  • java对象与json对象之间互相转换实现方法示例
    本文实例讲述了java对象与json对象之间互相转换实现方法。分享给大家供大家参考,具体如下:import java.util.ArrayList;import java.util.Collection;import java.util.I...
    99+
    2023-05-30
    java json ava
  • Java中Map与对象之间互相转换
    文章目录 Map转Object方式一:通过BeanMap转方式二:通过fastJson转方式三:通过gson转 Object转Map方式一:通过BeanMap转方式二:通过fastJso...
    99+
    2023-10-03
    java
  • PHP数组与对象怎么相互转换
    在PHP中,数组和对象之间可以相互转换。以下是数组和对象之间相互转换的方法: 将数组转换为对象: $array = array(...
    99+
    2024-04-02
  • Java中BeanMap怎么实现对象与Map相互转换
    这篇文章主要介绍“Java中BeanMap怎么实现对象与Map相互转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中BeanMap怎么实现对象与Map相互转换”文章能帮助大家解决问题。ja...
    99+
    2023-06-29
  • 怎么将JS对象与jQuery对象进行相互转换
    这篇文章主要介绍了怎么将JS对象与jQuery对象进行相互转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.jQuery对象转换为JS原生对象<body>&n...
    99+
    2023-06-14
  • 利用python实现JSON文档与Python对象互相转换
    目录一、将一个JSON文档映射为Python对象第一种方法第二种方法二、将一个Python对象转换为对应的JSON字符串面试题二 之 将对象列表转换为JSON数组总结前言: 如何将一...
    99+
    2024-04-02
  • Java中的List<T>对象与Json格式的字符串的相互转换
    Java中的List对象与Json格式的字符串的相互转换 前提条件:引入JSON依赖,是由ali提供的一个fastjson com.alibaba fastjson 2.0.16 ...
    99+
    2023-09-05
    java json spring 数据库
  • json对象和formData相互转换的方式详解
    目录前言常见的 POST 提交数据方式JSON 格式和 formData 格式的区别json 对象转 formDataformData 对象转 json前言 大家都知道,前端在和后台...
    99+
    2023-02-14
    json对象和formData相互转换 formData转换json
  • PHP数组与JSON互相转换
    PHP数组与JSON互相转换,数组转json:json_encode();json转数组:json_decode(); 使用json_encode转json时会发现中文字符会出现乱码 只需要在json_encode();函数中加入JS...
    99+
    2023-09-10
    json php 数组 Powered by 金山文档
  • C#中对象与JSON字符串互相转换的三种方式
    JSON(JavaScriptObject Notation, JS 对象标记) 是一种轻量级的数据交换格式。 关于内存对象和JSON字符串的相互转换,在实际项目中应比较广泛,经过一...
    99+
    2024-04-02
  • java--- xml和对象之间的互相转换
    例子是把xml映射成bean成对象 第一种方法是使用 JAXB(Java Architecture for XML Binding) 实现XML与Bean的相互转换 简介 JAXB是一个业界的标准,是一项可以根据X...
    99+
    2023-08-31
    java
  • JAVA 对象转换为JSON
    转载:如何把java对象转换为json java对象怎么转成json_clghxq的技术博客_51CTO博客 Java对象列表转换为JSON对象数组,并转为字符串 JSONArray jsonArray = JSONArray.fromOb...
    99+
    2023-09-06
    java json 开发语言
  • Jackson中json格式的字符串与对象的互相转换方式
    目录json格式的字符串与对象的互相转换Jackson 简介jackson特点json格式的字符串与对象的转换Jackson进行json转对象,对象转json总结JavaBean准备...
    99+
    2024-04-02
  • C++类结构体与json相互转换
    目录1. 背景与需求2. 最终使用的样例代码3. 实现方法3.1 基础类型的转换3.2 类成员注册3.3 自定义类的转换3.4 外部调用接口1. 背景与需求 之前写C#的时候,解析j...
    99+
    2024-04-02
  • Java中Json与List、Map、entity怎么互相转化
    本篇内容介绍了“Java中Json与List、Map、entity怎么互相转化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:导入依赖...
    99+
    2023-07-02
  • 使用jackson实现对象json之间的相互转换(spring boot)
    目录首先,在pom.xml里弄好依赖用来获取天气预报接口的数据返回的json字符串就像下面这个样子我拆成了下面两个对象开始书写工具类,方便以后调用~封装完成,写测试类之前的json转...
    99+
    2024-04-02
  • Python字典格式怎么与JSON格式相互转换
    本篇内容介绍了“Python字典格式怎么与JSON格式的相互转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python中可以方便的通过J...
    99+
    2023-06-02
  • 关于Java中BeanMap进行对象与Map的相互转换问题
    javabean与map的转换有很多种方式,比如: 1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是这种方法比较绕,且效率很低,经测试,循环...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作