Json串如下所示
{
"dataId": 123,
"dataType": "mysql",
"resultData": [{
"binlog": "mysql_binlog.000",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "7"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "7"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "7"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "7"
}],
"db": "demo",
"eventType": "insert",
"pkValue": "7",
"sql": "woshisql",
"table": "student",
"time": 80146942099474
}, {
"binlog": "mysql_binlog.001",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}],
"db": "demo",
"eventType": "insert",
"pkValue": "9",
"sql": "woshisql",
"table": "student",
"time": 80146943574276
}, {
"binlog": "mysql_binlog.002",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "2"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "2"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "2"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "2"
}],
"db": "demo",
"eventType": "update",
"pkValue": "2",
"sql": "woshisql",
"table": "student",
"time": 80146943586222
}, {
"binlog": "mysql_binlog.003",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}],
"db": "demo",
"eventType": "update",
"pkValue": "4",
"sql": "woshisql",
"table": "student",
"time": 80146943592561
}, {
"binlog": "mysql_binlog.004",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}],
"db": "demo",
"eventType": "update",
"pkValue": "6",
"sql": "woshisql",
"table": "student",
"time": 80146943599876
}, {
"binlog": "mysql_binlog.005",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "4"
}],
"db": "demo",
"eventType": "update",
"pkValue": "4",
"sql": "woshisql",
"table": "student",
"time": 80146943605971
}, {
"binlog": "mysql_binlog.006",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "6"
}],
"db": "demo",
"eventType": "update",
"pkValue": "6",
"sql": "woshisql",
"table": "student",
"time": 80146943611335
}, {
"binlog": "mysql_binlog.007",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "9"
}],
"db": "demo",
"eventType": "update",
"pkValue": "9",
"sql": "woshisql",
"table": "student",
"time": 80146943617917
}, {
"binlog": "mysql_binlog.008",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "10"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "10"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "10"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "10"
}],
"db": "demo",
"eventType": "update",
"pkValue": "10",
"sql": "woshisql",
"table": "student",
"time": 80146943623525
}, {
"binlog": "mysql_binlog.009",
"column": [{
"columnname": "single_cloum0",
"columntype": "varchar(10)",
"index": 0,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "1"
}, {
"columnname": "single_cloum1",
"columntype": "varchar(10)",
"index": 1,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "1"
}, {
"columnname": "single_cloum2",
"columntype": "int(5)",
"index": 2,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "1"
}, {
"columnname": "single_cloum3",
"columntype": "int(5)",
"index": 3,
"modified": false,
"pk": false,
"sqlType": 0,
"value": "1"
}],
"db": "demo",
"eventType": "update",
"pkValue": "1",
"sql": "woshisql",
"table": "student",
"time": 80146943629864
}]
}
我们需要将json数据归纳格式:
1、按照dataType,分类file,mysql。
2、按照pkValue分类。
3、按照eventType类型分类。
先来看第一个要求 :按照dataType 分类file,mysql。直接getString(“dataType”)完事
再来看第二个要求:需要按照pkValue分类
这里我使用的是alibaba的很强大的Json解析工具 pom 配置如下
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.36</version>
</dependency>
代码如下
import com.alibaba.fastjson.{JSON, JSONObject}
object JsonPar {
def main(args: Array[String]): Unit = {
//{"dataId":123,"dataType":"mysql","resultData":[{"binlog":"mysql_binlog.000","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"7"}],"db":"demo","eventType":"insert","pkValue":"7","sql":"woshisql","table":"student","time":80146942099474},{"binlog":"mysql_binlog.001","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"9"}],"db":"demo","eventType":"insert","pkValue":"9","sql":"woshisql","table":"student","time":80146943574276},{"binlog":"mysql_binlog.002","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"2"}],"db":"demo","eventType":"update","pkValue":"2","sql":"woshisql","table":"student","time":80146943586222},{"binlog":"mysql_binlog.003","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"4"}],"db":"demo","eventType":"update","pkValue":"4","sql":"woshisql","table":"student","time":80146943592561},{"binlog":"mysql_binlog.004","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"6"}],"db":"demo","eventType":"update","pkValue":"6","sql":"woshisql","table":"student","time":80146943599876},{"binlog":"mysql_binlog.005","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"4"}],"db":"demo","eventType":"update","pkValue":"4","sql":"woshisql","table":"student","time":80146943605971},{"binlog":"mysql_binlog.006","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"6"}],"db":"demo","eventType":"update","pkValue":"6","sql":"woshisql","table":"student","time":80146943611335},{"binlog":"mysql_binlog.007","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"9"}],"db":"demo","eventType":"update","pkValue":"9","sql":"woshisql","table":"student","time":80146943617917},{"binlog":"mysql_binlog.008","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"10"}],"db":"demo","eventType":"update","pkValue":"10","sql":"woshisql","table":"student","time":80146943623525},{"binlog":"mysql_binlog.009","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"1"}],"db":"demo","eventType":"update","pkValue":"1","sql":"woshisql","table":"student","time":80146943629864}]}
val jsonObj: JSONObject = JSON.parseObject("{\"dataId\":123,\"dataType\":\"mysql\",\"resultData\":[{\"binlog\":\"mysql_binlog.000\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"}],\"db\":\"demo\",\"eventType\":\"insert\",\"pkValue\":\"7\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146942099474},{\"binlog\":\"mysql_binlog.001\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"}],\"db\":\"demo\",\"eventType\":\"insert\",\"pkValue\":\"9\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943574276},{\"binlog\":\"mysql_binlog.002\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"2\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943586222},{\"binlog\":\"mysql_binlog.003\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"4\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943592561},{\"binlog\":\"mysql_binlog.004\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"6\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943599876},{\"binlog\":\"mysql_binlog.005\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"4\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943605971},{\"binlog\":\"mysql_binlog.006\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"6\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943611335},{\"binlog\":\"mysql_binlog.007\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"9\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943617917},{\"binlog\":\"mysql_binlog.008\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"10\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943623525},{\"binlog\":\"mysql_binlog.009\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"1\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943629864}]}")
val array = jsonObj.getJSONArray("resultData")
for (i <- 0 to array.size() - 1) {
val nObject = array.getJSONObject(i)
println(nObject.getString("pkValue"))
println(nObject.getString("eventType"))
}
}
}
第三个要求其实和第二个是一样的,都是通过每个子json串获取key
如果还有别的需求 比如获得每个子Json串的里面的子Json串某个类型,像按照 “sqlType” , “pk” ,"value"等类型进行分类 就只需写一个双重循环就可以搞定
代码如下
import com.alibaba.fastjson.{JSON, JSONArray, JSONObject}
object JsonPar {
def main(args: Array[String]): Unit = {
//{"dataId":123,"dataType":"mysql","resultData":[{"binlog":"mysql_binlog.000","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"7"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"7"}],"db":"demo","eventType":"insert","pkValue":"7","sql":"woshisql","table":"student","time":80146942099474},{"binlog":"mysql_binlog.001","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"9"}],"db":"demo","eventType":"insert","pkValue":"9","sql":"woshisql","table":"student","time":80146943574276},{"binlog":"mysql_binlog.002","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"2"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"2"}],"db":"demo","eventType":"update","pkValue":"2","sql":"woshisql","table":"student","time":80146943586222},{"binlog":"mysql_binlog.003","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"4"}],"db":"demo","eventType":"update","pkValue":"4","sql":"woshisql","table":"student","time":80146943592561},{"binlog":"mysql_binlog.004","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"6"}],"db":"demo","eventType":"update","pkValue":"6","sql":"woshisql","table":"student","time":80146943599876},{"binlog":"mysql_binlog.005","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"4"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"4"}],"db":"demo","eventType":"update","pkValue":"4","sql":"woshisql","table":"student","time":80146943605971},{"binlog":"mysql_binlog.006","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"6"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"6"}],"db":"demo","eventType":"update","pkValue":"6","sql":"woshisql","table":"student","time":80146943611335},{"binlog":"mysql_binlog.007","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"9"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"9"}],"db":"demo","eventType":"update","pkValue":"9","sql":"woshisql","table":"student","time":80146943617917},{"binlog":"mysql_binlog.008","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"10"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"10"}],"db":"demo","eventType":"update","pkValue":"10","sql":"woshisql","table":"student","time":80146943623525},{"binlog":"mysql_binlog.009","column":[{"columnname":"single_cloum0","columntype":"varchar(10)","index":0,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum1","columntype":"varchar(10)","index":1,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum2","columntype":"int(5)","index":2,"modified":false,"pk":false,"sqlType":0,"value":"1"},{"columnname":"single_cloum3","columntype":"int(5)","index":3,"modified":false,"pk":false,"sqlType":0,"value":"1"}],"db":"demo","eventType":"update","pkValue":"1","sql":"woshisql","table":"student","time":80146943629864}]}
val jsonObj: JSONObject = JSON.parseObject("{\"dataId\":123,\"dataType\":\"mysql\",\"resultData\":[{\"binlog\":\"mysql_binlog.000\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"7\"}],\"db\":\"demo\",\"eventType\":\"insert\",\"pkValue\":\"7\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146942099474},{\"binlog\":\"mysql_binlog.001\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"}],\"db\":\"demo\",\"eventType\":\"insert\",\"pkValue\":\"9\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943574276},{\"binlog\":\"mysql_binlog.002\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"2\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"2\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943586222},{\"binlog\":\"mysql_binlog.003\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"4\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943592561},{\"binlog\":\"mysql_binlog.004\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"6\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943599876},{\"binlog\":\"mysql_binlog.005\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"4\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"4\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943605971},{\"binlog\":\"mysql_binlog.006\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"6\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"6\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943611335},{\"binlog\":\"mysql_binlog.007\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"9\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"9\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943617917},{\"binlog\":\"mysql_binlog.008\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"10\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"10\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943623525},{\"binlog\":\"mysql_binlog.009\",\"column\":[{\"columnname\":\"single_cloum0\",\"columntype\":\"varchar(10)\",\"index\":0,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum1\",\"columntype\":\"varchar(10)\",\"index\":1,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum2\",\"columntype\":\"int(5)\",\"index\":2,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"},{\"columnname\":\"single_cloum3\",\"columntype\":\"int(5)\",\"index\":3,\"modified\":false,\"pk\":false,\"sqlType\":0,\"value\":\"1\"}],\"db\":\"demo\",\"eventType\":\"update\",\"pkValue\":\"1\",\"sql\":\"woshisql\",\"table\":\"student\",\"time\":80146943629864}]}")
val array = jsonObj.getJSONArray("resultData")
for (i <- 0 to array.size() - 1) {
val nObject: JSONObject = array.getJSONObject(i)
val nArray: JSONArray = JSON.parseArray(nObject.getString("column"))
for (j <- 0 to nArray.size() - 1) {
val nObject1 = nArray.getJSONObject(j)
println(nObject1.getString("sqlType"))
println(nObject1.getString("pk"))
println(nObject1.getString("value"))
}
}
}
}
结果出来后就可以将其归纳整理了 以上如有错误或不足的地方欢迎各路大佬批评指正 !
版权声明:本文为weixin_38653290原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。