Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JsonUtils工具类大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
  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. @H_616_25@ { @H_616_25@ /**CommonsLogginginstance.*/
  11. privatestaticorg.apache.commons.logging.Loglog=
  12. @H_616_25@ org.apache.commons.logging.LogFactory.getLog(JsonUtils.class);
  13. /**
  14. *@paramobj任意对象
  15. *@returnString
  16. */
  17. staticStringobject2json(Objectobj){
  18. @H_616_25@ StringBuilderjson=newStringBuilder();
  19. if(obj==null){
  20. @H_616_25@ json.append("\"\""); @H_616_25@ }elseif(objinstanceofString||objinstanceofInteger||objinstanceofFloat @H_616_25@ ||objinstanceofBoolean||objinstanceofShort||objinstanceofDouble
  21. instanceofLong||objinstanceofBigdecimal
  22. instanceofBigInteger||objinstanceofBytE){
  23. @H_616_25@ json.append("\"").append(String2json(obj.toString())).append("\"");
  24. instanceofObject[]){
  25. @H_616_25@ json.append(array2json((Object[])obj));
  26. instanceofList){
  27. @H_616_25@ json.append(list2json((List<?>)obj));
  28. instanceofMap){
  29. @H_616_25@ json.append(map2json((Map<?,?>)obj));
  30. instanceofSet){
  31. @H_616_25@ json.append(set2json((Set<?>)obj));
  32. else{
  33. @H_616_25@ json.append(bean2json(obj)); @H_616_25@ }
  34. returnjson.toString();
  35. *@parambeanbean对象
  36. staticStringbean2json(Objectbean){
  37. @H_616_25@ json.append("{"); @H_616_25@ PropertyDescriptor[]props=null;
  38. try{
  39. @H_616_25@ props=Introspector.getBeanInfo @H_616_25@ (bean.getClass(),Object.class).getPropertyDescriptors();
  40. catch(IntrospectionExceptionE){
  41. @H_616_25@ e.printStackTrace();
  42. if(props!=for(inti=0;i<props.length;i++){
  43. @H_616_25@ Stringname=object2json(props[i].getName()); @H_616_25@ stringvalue=object2json(props[i].getReadMethod().invoke(bean)); @H_616_25@ json.append(Name); @H_616_25@ json.append(":"); @H_616_25@ json.append(value); @H_616_25@ json.append(",");
  44. catch(ExceptionE){
  45. @H_616_25@ json.setCharAt(json.length()-1,'}'); @H_616_25@ json.append("}");
  46. *@paramlistlist对象
  47. staticStringlist2json(List<?>list){
  48. @H_616_25@ json.append("[");
  49. if(list!=null&&list.size()>0){
  50. for(Objectobj:list){
  51. @H_616_25@ json.append(object2json(obj));
  52. :1em; margin:0px 0px 0px 38px; padding:0px 0px 0px 10px; border-left-width:1px; border-left-style:solid; border-left-color:rgb(209,']');
  53. @H_616_25@ json.append("]");
  54. *@paramarray对象数组
  55. staticStringarray2json(Object[]array){
  56. if(array!=null&&array.length>for(Objectobj:array){
  57. *@parAMMapmap对象
  58. staticStringmap2json(Map<?,?>map){
  59. if(map!=null&&map.size()>for(Objectkey:map.keySet()){
  60. @H_616_25@ json.append(object2json(key)); @H_616_25@ json.append(object2json(map.get(key)));
  61. *@paramset集合对象
  62. staticStringset2json(Set<?>set){
  63. if(set!=null&&set.size()>for(Objectobj:set){
  64. *@params参数
  65. staticStringString2json(Strings){
  66. if(null==s){
  67. return"";
  68. @H_616_25@ StringBuildersb=0;i<s.length();i++){
  69. charch=s.charAt(i);
  70. switch(ch){
  71. case'"':
  72. @H_616_25@ sb.append("\\\"");
  73. break;
  74. case'\\':
  75. @H_616_25@ sb.append("\\\\");
  76. case'\b':
  77. @H_616_25@ sb.append("\\b");
  78. case'\f':
  79. @H_616_25@ sb.append("\\f");
  80. case'\n':
  81. @H_616_25@ sb.append("\\n");
  82. case'\r':
  83. @H_616_25@ sb.append("\\r");
  84. case'\t':
  85. @H_616_25@ sb.append("\\t");
  86. case'/':
  87. @H_616_25@ sb.append("\\/");
  88. default:
  89. if(ch>='\u0000'&&ch<='\u001F'){
  90. @H_616_25@ Stringss=Integer.toHexString(ch); @H_616_25@ sb.append("\\u");
  91. intk=0;k<4-ss.length();k++){
  92. @H_616_25@ sb.append('0'); @H_616_25@ sb.append(ss.toUpperCase()); @H_616_25@ sb.append(ch);
  93. returnsb.toString();
  94. @H_616_25@ }

大佬总结

以上是大佬教程为你收集整理的JsonUtils工具类全部内容,希望文章能够帮你解决JsonUtils工具类所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。