java json字符串格式化输出

jsonFormatStr()方法返回格式化后的字符串 使用时直接
System.out.println(jsonFormatStr("{ jsonStr }"));

    /**
       json格式化
     */
    public static String jsonFormatStr(String resString){

        StringBuffer jsonForMatStr = new StringBuffer();
        int level = 0;
        for(int index=0;index<resString.length();index++)//将字符串中的字符逐个按行输出
        {
            //获取s中的每个字符
            char c = resString.charAt(index);

            //level大于0并且jsonForMatStr中的最后一个字符为\n,jsonForMatStr加入\t
            if (level > 0  && '\n' == jsonForMatStr.charAt(jsonForMatStr.length() - 1)) {
                jsonForMatStr.append(getLevelStr(level));
            }
            //遇到"{"和"["要增加空格和换行,遇到"}"和"]"要减少空格,以对应,遇到","要换行
            switch (c) {
                case '{':
                case '[':
                    jsonForMatStr.append(c + "\n");
                    level++;
                    break;
                case ',':
                    jsonForMatStr.append(c + "\n");
                    break;
                case '}':
                case ']':
                    jsonForMatStr.append("\n");
                    level--;
                    jsonForMatStr.append(getLevelStr(level));
                    jsonForMatStr.append(c);
                    break;
                default:
                    jsonForMatStr.append(c);
                    break;
            }
        }
        return jsonForMatStr.toString();
    }
    /**
     */
    public static String getLevelStr(int level) {
        StringBuffer levelStr = new StringBuffer();
        for (int levelI = 0; levelI < level; levelI++) {
            levelStr.append("\t");
        }
        return levelStr.toString();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Java 中的 JSON 字符串格式化为可读的形式,可以使用 JSON 格式化库,如 Gson 或 Jackson。下面以 Gson 为例进行说明: 首先,需要将 JSON 字符串解析为一个 Java 对象。可以使用 Gson 的 `fromJson` 方法将 JSON 字符串转换成对应的 Java 对象。 然后,使用 Gson 的 `toJson` 方法将 Java 对象转换为格式化后的 JSON 字符串。 以下是一个示例代码: ```java import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class JsonFormatter { public static void main(String[] args) { String jsonString = "{\"name\":\"John\",\"age\":30}"; // 创建 GsonBuilder 对象 GsonBuilder gsonBuilder = new GsonBuilder(); // 设置格式化输出 gsonBuilder.setPrettyPrinting(); // 创建 Gson 对象 Gson gson = gsonBuilder.create(); // 将 JSON 字符串解析为 Java 对象 Person person = gson.fromJson(jsonString, Person.class); // 将 Java 对象转换为格式化后的 JSON 字符串 String formattedJsonString = gson.toJson(person); System.out.println(formattedJsonString); } private static class Person { private String name; private int age; // Getter 和 Setter 方法 } } ``` 以上代码中,我们创建了一个 GsonBuilder 对象,并设置了 `setPrettyPrinting` 方法来启用格式化输出。然后,通过 `fromJson` 方法将 JSON 字符串转换成了 `Person` 类的实例对象。最后,使用 `toJson` 方法将 `Person` 对象转换为格式化后的 JSON 字符串,并通过 `System.out.println` 打印输出。 输出结果将会是: ```json { "name": "John", "age": 30 } ``` 这样就将 JSON 字符串格式化为可读形式了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值