加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JsonUtils工具类

发布时间:2020-12-16 19:51:05 所属栏目:百科 来源:网络整理
导读:import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; pu
  1. importjava.beans.IntrospectionException;
  2. importjava.beans.Introspector;
  3. importjava.beans.PropertyDescriptor;
  4. importjava.math.BigDecimal;
  5. importjava.math.BigInteger;
  6. importjava.util.List;
  7. importjava.util.Map;
  8. importjava.util.Set;
  9. publicclassJsonUtils
  10. {
  11. /**CommonsLogginginstance.*/
  12. privatestaticorg.apache.commons.logging.Loglog=
  13. org.apache.commons.logging.LogFactory.getLog(JsonUtils.class);
  14. /**
  15. *@paramobj任意对象
  16. *@returnString
  17. */
  18. staticStringobject2json(Objectobj){
  19. StringBuilderjson=newStringBuilder();
  20. if(obj==null){
  21. json.append("""");
  22. }elseif(objinstanceofString||objinstanceofInteger||objinstanceofFloat
  23. ||objinstanceofBoolean||objinstanceofShort||objinstanceofDouble
  24. instanceofLong||objinstanceofBigDecimal
  25. instanceofBigInteger||objinstanceofByte){
  26. json.append(""").append(string2json(obj.toString())).append(""");
  27. instanceofObject[]){
  28. json.append(array2json((Object[])obj));
  29. instanceofList){
  30. json.append(list2json((List<?>)obj));
  31. instanceofMap){
  32. json.append(map2json((Map<?,?>)obj));
  33. instanceofSet){
  34. json.append(set2json((Set<?>)obj));
  35. else{
  36. json.append(bean2json(obj));
  37. }
  38. returnjson.toString();
  39. *@parambeanbean对象
  40. staticStringbean2json(Objectbean){
  41. json.append("{");
  42. PropertyDescriptor[]props=null;
  43. try{
  44. props=Introspector.getBeanInfo
  45. (bean.getClass(),Object.class).getPropertyDescriptors();
  46. catch(IntrospectionExceptione){
  47. e.printStackTrace();
  48. if(props!=for(inti=0;i<props.length;i++){
  49. Stringname=object2json(props[i].getName());
  50. Stringvalue=object2json(props[i].getReadMethod().invoke(bean));
  51. json.append(name);
  52. json.append(":");
  53. json.append(value);
  54. json.append(",");
  55. catch(Exceptione){
  56. json.setCharAt(json.length()-1,'}');
  57. json.append("}");
  58. *@paramlistlist对象
  59. staticStringlist2json(List<?>list){
  60. json.append("[");
  61. if(list!=null&&list.size()>0){
  62. for(Objectobj:list){
  63. json.append(object2json(obj));
  64. ']');
  65. json.append("]");
  66. *@paramarray对象数组
  67. staticStringarray2json(Object[]array){
  68. if(array!=null&&array.length>for(Objectobj:array){
  69. *@parammapmap对象
  70. staticStringmap2json(Map<?,?>map){
  71. if(map!=null&&map.size()>for(Objectkey:map.keySet()){
  72. json.append(object2json(key));
  73. json.append(object2json(map.get(key)));
  74. *@paramset集合对象
  75. staticStringset2json(Set<?>set){
  76. if(set!=null&&set.size()>for(Objectobj:set){
  77. *@params参数
  78. staticStringstring2json(Strings){
  79. if(null==s){
  80. return"";
  81. StringBuildersb=0;i<s.length();i++){
  82. charch=s.charAt(i);
  83. switch(ch){
  84. case'"':
  85. sb.append(""");
  86. break;
  87. case'':
  88. sb.append("\");
  89. case'b':
  90. sb.append("b");
  91. case'f':
  92. sb.append("f");
  93. case'n':
  94. sb.append("n");
  95. case'r':
  96. sb.append("r");
  97. case't':
  98. sb.append("t");
  99. case'/':
  100. sb.append("/");
  101. default:
  102. if(ch>='u0000'&&ch<='u001F'){
  103. Stringss=Integer.toHexString(ch);
  104. sb.append("u");
  105. intk=0;k<4-ss.length();k++){
  106. sb.append('0');
  107. sb.append(ss.toUpperCase());
  108. sb.append(ch);
  109. returnsb.toString();
  110. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读