java动态JSON数据解析

这篇博客在我的CSDN上写了很久了,但一直没什么阅读量,
就在昨天我的一个同事在google上搜到了这篇文章,觉得挺有意思,建议我放在简书上让更多的人看到

大家也许会好奇,什么叫动态json数据,其实我也不是很确定叫这个名字,暂时先这么叫着吧,之前开发一款执法记录仪的时候(后台并不清楚如何实现),获取记录仪上的视频图片信息时,给我返回了一种独特的json数据,格式是这样的

[
    {
        "file1": "date1"
    },
    {
        "file2": "date2"
    },
    {
        "file3": "date3"
    },
    {
        "file4": "date4"
    }
    ......
]

看着和普通的json数据很像,但仔细一看,key和value居然全是变化的,key是文件名,value是时间,一下子没了主意,什么json解析的框架都不起作用,返的什么东西啊,我该如何拿到里面的数据……

网络上搜了很多,但其实不知道该如何所搜这个问题,苦恼了下,准备冷静下来分析,首先,我需要的格式是这样的

[
    {
        "file":"file1",
        "date":"date1"
    },
    {
        "file":"file2",
        "date":"date2"
    },
    {
        "file":"file3",
        "date":"date3"
    },
    {
        "file":"file4",
        "date":"date4"
    }
    ......
]

如果是这样就好办了,于是就顺着这个思路往下思考,问题的焦点就集中到了怎么将那别扭的json格式转换为自己想要的json格式,json数据的本质也就是普通的字符串,所以看看能不能用String的一些函数来处理,果然这个思路是对的,找到了一个replace方法,测试代码

public class Test {
    public static void main(String[] args) {

        String data = "[\n" +
                "    {\n" +
                "        \"file1\": \"date1\"\n" +
                "    },\n" +
                "    {\n" +
                "        \"file2\": \"date2\"\n" +
                "    },\n" +
                "    {\n" +
                "        \"file3\": \"date3\"\n" +
                "    },\n" +
                "    {\n" +
                "        \"file4\": \"date4\"\n" +
                "    }\n" +
                "]";
        data = data.replace("{\n" +
                "        \"","{\n" +
                "        \"file\":\"");

        data = data.replace(": \"",",\n" +
                "        \"date\":\"");

        System.out.println("data = " + data);

    }
}

打印结果

data = [
    {
        "file":"file1",
        "date":"date1"
    },
    {
        "file":"file2",
        "date":"date2"
    },
    {
        "file":"file3",
        "date":"date3"
    },
    {
        "file":"file4",
        "date":"date4"
    }
]

Process finished with exit code 0

哈哈,通过这两行代码的转换,终于可以愉快的玩耍了

总结:有时候,换一个思路,问题并没有那么难

原文地址:java动态JSON数据解析

欢迎转载,转载请保留原文链接

    原文作者:dongjunkun
    原文地址: https://www.jianshu.com/p/a1c2ebbf6c95
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞