告别肉眼解析!Java 递归实现 JSON 全路径自动化探测工具
1. 痛点:为什么我们需要 JSON 路径?
在日常开发中,面对嵌套十几层、成百上千行的复杂 JSON(如电商商品详情、支付网关回调等),开发者常面临以下困境:
- 路径定位难:为了取一个深层字段,必须反复折叠展开,极易数错层级。
- AI 幻觉问题:直接把巨大 JSON 丢给 AI 编写解析代码时,AI 经常会"脑补"不存在的中间层级,导致代码运行报错。
- 文档缺失:接手老项目或第三方黑盒接口时,没有文档说明,只能靠肉眼摸索数据结构。
本文分享一个轻量级的 Java 工具类,利用递归算法一键拉平 JSON,输出所有叶子节点的完整路径。
附上实际爬虫抓到的一个复杂json,供大家参考
json
{
"ale": [
{
"sid": 2,
"ono": 2,
"sels": [
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2341989321,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 191.5,
"o": 0.77,
"ot": 2,
"si": 3,
"wsi": 30807223905
},
{
"s": "",
"hdp": 191.5,
"o": 0.89,
"ot": 2,
"si": 4,
"wsi": 30807223906
}
],
"ico": true
},
{
"bti": 2,
"btn": "大/小",
"mi": 2341989322,
"ml": 2,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 196.5,
"o": 1.36,
"ot": 2,
"si": 3,
"wsi": 30807266321
},
{
"s": "",
"hdp": 196.5,
"o": 0.39,
"ot": 2,
"si": 4,
"wsi": 30807266322
}
],
"ico": true
},
{
"bti": 2,
"btn": "大/小",
"mi": 2341989323,
"ml": 3,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 186.5,
"o": 0.34,
"ot": 2,
"si": 3,
"wsi": 30806424129
},
{
"s": "",
"hdp": 186.5,
"o": 1.47,
"ot": 2,
"si": 4,
"wsi": 30806424130
}
],
"ico": true
},
{
"bti": 1,
"btn": "让分",
"mi": 2341989318,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -6.5,
"o": 0.91,
"ot": 2,
"si": 1,
"wsi": 30807183021
},
{
"s": "",
"hdp": -6.5,
"o": 0.81,
"ot": 2,
"si": 2,
"wsi": 30807183022
}
],
"ico": true
},
{
"bti": 1,
"btn": "让分",
"mi": 2341989319,
"ml": 2,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -9.5,
"o": 0.51,
"ot": 2,
"si": 1,
"wsi": 30807375658
},
{
"s": "",
"hdp": -9.5,
"o": 1.26,
"ot": 2,
"si": 2,
"wsi": 30807375659
}
],
"ico": true
},
{
"bti": 1,
"btn": "让分",
"mi": 2341989320,
"ml": 3,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -3.5,
"o": 1.4,
"ot": 2,
"si": 1,
"wsi": 30788072744
},
{
"s": "",
"hdp": -3.5,
"o": 0.43,
"ot": 2,
"si": 2,
"wsi": 30788072745
}
],
"ico": true
},
{
"bti": 4,
"btn": "独赢",
"mi": 2341989327,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 3.97,
"ot": 3,
"si": 8,
"wsi": 30788075754
},
{
"s": "",
"o": 1.23,
"ot": 3,
"si": 9,
"wsi": 30788075755
}
],
"ico": false
}
],
"on": 9999,
"shtn": "yilawalalaoying",
"st": 2,
"egid": 15284354,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": true,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 41412,
"htn": "伊拉瓦拉老鹰",
"atid": 41317,
"atn": "阿德莱德36人",
"iop": true,
"isrbt": true,
"rbt": "HT",
"rbpid": "",
"mlc": 38,
"hs": 45,
"as": 51,
"hlsu": true,
"edt": "2026-02-05T04:30:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 27,
"as": 21
},
{
"egti": 5,
"hs": 18,
"as": 30
},
{
"egti": 6,
"hs": 0,
"as": 0
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": true,
"pc": "4 x 10",
"pid": 8,
"pn": "澳大利亚",
"pon": 0,
"cid": 4070,
"cn": "澳大利亚篮球联赛",
"cpmon": 1113,
"crbon": 1113,
"scn": "aodaliyalanqiuliansai",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106221638
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344347869,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 142.5,
"o": 0.76,
"ot": 2,
"si": 3,
"wsi": 30807316066
},
{
"s": "",
"hdp": 142.5,
"o": 0.8,
"ot": 2,
"si": 4,
"wsi": 30807316067
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344347866,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 4.5,
"o": 0.81,
"ot": 2,
"si": 1,
"wsi": 30807365490
},
{
"s": "",
"hdp": 4.5,
"o": 0.85,
"ot": 2,
"si": 2,
"wsi": 30807365491
}
],
"ico": false
}
],
"on": 9999,
"shtn": "fatate(nv)",
"st": 2,
"egid": 15376985,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 124711,
"htn": "法塔特(女)",
"atid": 125226,
"atn": "阿尔阿马尔(女)",
"iop": true,
"isrbt": true,
"rbt": "Q4 06:44",
"rbpid": "Q4",
"mlc": 16,
"hs": 62,
"as": 53,
"hlsu": false,
"edt": "2026-02-05T04:00:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 24,
"as": 14
},
{
"egti": 5,
"hs": 19,
"as": 15
},
{
"egti": 6,
"hs": 14,
"as": 24
},
{
"egti": 7,
"hs": 5,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
93,
94
],
"ico": false,
"pc": "4 x 10",
"pid": 94,
"pn": "阿拉伯联合酋长国",
"pon": 0,
"cid": 14168,
"cn": "阿拉伯体育锦标赛女子",
"cpmon": 3755,
"crbon": 3755,
"scn": "alabotiyujinbiaosainvzi",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319267
},
{
"mls": [
{
"bti": 1,
"btn": "让分",
"mi": 2343800843,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 8.5,
"o": 0.93,
"ot": 2,
"si": 1,
"wsi": 30807078231
},
{
"s": "",
"hdp": 8.5,
"o": 0.73,
"ot": 2,
"si": 2,
"wsi": 30807078232
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343800852,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.06,
"ot": 3,
"si": 8,
"wsi": 30802103553
},
{
"s": "",
"o": 7.44,
"ot": 3,
"si": 9,
"wsi": 30802103554
}
],
"ico": false
}
],
"on": 9999,
"shtn": "CBAxueyuanU22",
"st": 2,
"egid": 15355497,
"gtid": 1,
"egtid": 1,
"rbtSts": 3,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 525488,
"htn": "CBA学院U22",
"atid": 524690,
"atn": "BC伊维里奥利U22",
"iop": true,
"isrbt": true,
"rbt": "Q4 04:27",
"rbpid": "Q4",
"mlc": 12,
"hs": 72,
"as": 64,
"hlsu": false,
"edt": "2026-02-05T04:00:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 12,
"as": 18
},
{
"egti": 5,
"hs": 22,
"as": 17
},
{
"egti": 6,
"hs": 27,
"as": 15
},
{
"egti": 7,
"hs": 11,
"as": 14
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 10",
"pid": 52,
"pn": "格鲁吉亚",
"pon": 0,
"cid": 58042,
"cn": "格鲁吉亚锦标赛U22",
"cpmon": 7440,
"crbon": 7440,
"scn": "gelujiyajinbiaosaiU22",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106296385
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344361074,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 271.5,
"o": 0.84,
"ot": 2,
"si": 3,
"wsi": 30807428761
},
{
"s": "",
"hdp": 271.5,
"o": 0.72,
"ot": 2,
"si": 4,
"wsi": 30807428762
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344361071,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 2.5,
"o": 0.86,
"ot": 2,
"si": 1,
"wsi": 30807317574
},
{
"s": "",
"hdp": 2.5,
"o": 0.7,
"ot": 2,
"si": 2,
"wsi": 30807317575
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344361080,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.61,
"ot": 3,
"si": 8,
"wsi": 30807251877
},
{
"s": "",
"o": 2.21,
"ot": 3,
"si": 9,
"wsi": 30807251878
}
],
"ico": false
}
],
"on": 9999,
"shtn": "lakelan",
"st": 2,
"egid": 15377311,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 524907,
"htn": "拉克兰",
"atid": 524909,
"atn": "车手",
"iop": false,
"isrbt": true,
"rbt": "Q3 02:14",
"rbpid": "Q3",
"mlc": 9,
"hs": 97,
"as": 98,
"hlsu": true,
"edt": "2026-02-05T04:45:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 30,
"as": 31
},
{
"egti": 5,
"hs": 33,
"as": 32
},
{
"egti": 6,
"hs": 34,
"as": 35
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84489,
"cn": "俄罗斯IPBL 3x3甲级联赛",
"cpmon": 7475,
"crbon": 7475,
"scn": "eluosiIPBL 3x3jiajiliansai",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319617
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344365362,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 178.5,
"o": 0.75,
"ot": 2,
"si": 3,
"wsi": 30807438741
},
{
"s": "",
"hdp": 178.5,
"o": 0.81,
"ot": 2,
"si": 4,
"wsi": 30807438742
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344365359,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -7.5,
"o": 0.74,
"ot": 2,
"si": 1,
"wsi": 30807320645
},
{
"s": "",
"hdp": -7.5,
"o": 0.82,
"ot": 2,
"si": 2,
"wsi": 30807320646
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344365368,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 3.06,
"ot": 3,
"si": 8,
"wsi": 30807320649
},
{
"s": "",
"o": 1.34,
"ot": 3,
"si": 9,
"wsi": 30807320650
}
],
"ico": false
}
],
"on": 9999,
"shtn": "nuowoxibiersike",
"st": 2,
"egid": 15377484,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 110139,
"htn": "诺沃西比尔斯克",
"atid": 360669,
"atn": "索契",
"iop": false,
"isrbt": true,
"rbt": "Q2 01:36",
"rbpid": "Q2",
"mlc": 21,
"hs": 37,
"as": 35,
"hlsu": true,
"edt": "2026-02-05T05:00:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 24,
"as": 20
},
{
"egti": 5,
"hs": 13,
"as": 15
},
{
"egti": 6,
"hs": 0,
"as": 0
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 10",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84448,
"cn": "俄罗斯IPBL 3x3 职业联赛",
"cpmon": 7476,
"crbon": 7476,
"scn": "eluosiIPBL 3x3 zhiyeliansai",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319797
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344366269,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 179.5,
"o": 0.76,
"ot": 2,
"si": 3,
"wsi": 30807325608
},
{
"s": "",
"hdp": 179.5,
"o": 0.8,
"ot": 2,
"si": 4,
"wsi": 30807325609
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344366266,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -9.5,
"o": 0.77,
"ot": 2,
"si": 1,
"wsi": 30807365643
},
{
"s": "",
"hdp": -9.5,
"o": 0.79,
"ot": 2,
"si": 2,
"wsi": 30807365644
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344366275,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 3.37,
"ot": 3,
"si": 8,
"wsi": 30807325610
},
{
"s": "",
"o": 1.29,
"ot": 3,
"si": 9,
"wsi": 30807325611
}
],
"ico": false
}
],
"on": 9999,
"shtn": "wuxianhuan",
"st": 2,
"egid": 15377536,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 531127,
"htn": "无限环",
"atid": 128159,
"atn": "美特尔",
"iop": false,
"isrbt": true,
"rbt": "Q2 01:32",
"rbpid": "Q2",
"mlc": 4,
"hs": 39,
"as": 45,
"hlsu": true,
"edt": "2026-02-05T05:00:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 21,
"as": 23
},
{
"egti": 5,
"hs": 18,
"as": 22
},
{
"egti": 6,
"hs": 0,
"as": 0
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4
],
"ico": false,
"pc": "2 x 10",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84545,
"cn": "俄罗斯IPBL 4x4太空组",
"cpmon": 7477,
"crbon": 7477,
"scn": "eluosiIPBL 4x4taikongzu",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319849
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344365483,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 202.5,
"o": 0.78,
"ot": 2,
"si": 3,
"wsi": 30807346255
},
{
"s": "",
"hdp": 202.5,
"o": 0.78,
"ot": 2,
"si": 4,
"wsi": 30807346256
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344365480,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -10.5,
"o": 0.79,
"ot": 2,
"si": 1,
"wsi": 30807368469
},
{
"s": "",
"hdp": -10.5,
"o": 0.77,
"ot": 2,
"si": 2,
"wsi": 30807368470
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344365489,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 4.18,
"ot": 3,
"si": 8,
"wsi": 30807321823
},
{
"s": "",
"o": 1.2,
"ot": 3,
"si": 9,
"wsi": 30807321824
}
],
"ico": false
}
],
"on": 9999,
"shtn": "taoliyadi(nv)",
"st": 2,
"egid": 15377487,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 525221,
"htn": "陶里亚蒂(女)",
"atid": 366376,
"atn": "叶卡捷琳堡(女)",
"iop": false,
"isrbt": true,
"rbt": "Q3 09:26",
"rbpid": "Q3",
"mlc": 11,
"hs": 49,
"as": 60,
"hlsu": true,
"edt": "2026-02-05T05:00:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 22,
"as": 31
},
{
"egti": 5,
"hs": 25,
"as": 23
},
{
"egti": 6,
"hs": 2,
"as": 6
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 10",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84452,
"cn": "俄罗斯IPBL 3x3 女子职业联赛",
"cpmon": 7478,
"crbon": 7478,
"scn": "eluosiIPBL 3x3 nvzizhiyeliansai",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319800
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344360963,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 212.5,
"o": 0.76,
"ot": 2,
"si": 3,
"wsi": 30807344601
},
{
"s": "",
"hdp": 212.5,
"o": 0.8,
"ot": 2,
"si": 4,
"wsi": 30807344602
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344360960,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 6.5,
"o": 0.83,
"ot": 2,
"si": 1,
"wsi": 30807280239
},
{
"s": "",
"hdp": 6.5,
"o": 0.73,
"ot": 2,
"si": 2,
"wsi": 30807280240
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344360969,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.32,
"ot": 3,
"si": 8,
"wsi": 30807249862
},
{
"s": "",
"o": 3.15,
"ot": 3,
"si": 9,
"wsi": 30807249863
}
],
"ico": false
}
],
"on": 9999,
"shtn": "laohu(nv)",
"st": 2,
"egid": 15377307,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 525125,
"htn": "老虎(女)",
"atid": 525128,
"atn": "鲨鱼(女)",
"iop": false,
"isrbt": true,
"rbt": "Q3 07:15",
"rbpid": "Q3",
"mlc": 15,
"hs": 70,
"as": 68,
"hlsu": true,
"edt": "2026-02-05T04:45:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 20,
"as": 32
},
{
"egti": 5,
"hs": 34,
"as": 26
},
{
"egti": 6,
"hs": 16,
"as": 10
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84502,
"cn": "俄罗斯IPBL 3x3女子甲级联赛",
"cpmon": 7479,
"crbon": 7479,
"scn": "eluosiIPBL 3x3nvzijiajiliansai",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319613
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344366462,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 163.5,
"o": 0.83,
"ot": 2,
"si": 3,
"wsi": 30807438745
},
{
"s": "",
"hdp": 163.5,
"o": 0.73,
"ot": 2,
"si": 4,
"wsi": 30807438746
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344366459,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -5.5,
"o": 0.74,
"ot": 2,
"si": 1,
"wsi": 30807365548
},
{
"s": "",
"hdp": -5.5,
"o": 0.82,
"ot": 2,
"si": 2,
"wsi": 30807365549
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344366468,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 2.64,
"ot": 3,
"si": 8,
"wsi": 30807326397
},
{
"s": "",
"o": 1.44,
"ot": 3,
"si": 9,
"wsi": 30807326398
}
],
"ico": false
}
],
"on": 9999,
"shtn": "xingxing(nv)",
"st": 2,
"egid": 15377538,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": false,
"il": true,
"isFav": false,
"im": false,
"htid": 531349,
"htn": "行星(女)",
"atid": 531669,
"atn": "银河系(女)",
"iop": false,
"isrbt": true,
"rbt": "Q2 00:16",
"rbpid": "Q2",
"mlc": 4,
"hs": 41,
"as": 45,
"hlsu": true,
"edt": "2026-02-05T05:00:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 17,
"as": 21
},
{
"egti": 5,
"hs": 24,
"as": 24
},
{
"egti": 6,
"hs": 0,
"as": 0
},
{
"egti": 7,
"hs": 0,
"as": 0
},
{
"egti": 24,
"hs": 0,
"as": 0
}
],
"rsid": 2,
"iscyb": false,
"abt": [
4
],
"ico": false,
"pc": "2 x 10",
"pid": 14,
"pn": "俄罗斯",
"pon": 0,
"cid": 84553,
"cn": "俄罗斯IPBL 4x4太空女子分部",
"cpmon": 7480,
"crbon": 7480,
"scn": "eluosiIPBL 4x4taikongnvzifenbu",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106319855
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343869674,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 110.5,
"o": 0.89,
"ot": 2,
"si": 3,
"wsi": 30807423592
},
{
"s": "",
"hdp": 110.5,
"o": 0.57,
"ot": 2,
"si": 4,
"wsi": 30807423593
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869671,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -3.5,
"o": 0.81,
"ot": 2,
"si": 1,
"wsi": 30802450577
},
{
"s": "",
"hdp": -3.5,
"o": 0.65,
"ot": 2,
"si": 2,
"wsi": 30802450578
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343869677,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 3.58,
"ot": 3,
"si": 8,
"wsi": 30802450587
},
{
"s": "",
"o": 1.18,
"ot": 3,
"si": 9,
"wsi": 30802450588
}
],
"ico": false
}
],
"on": 999,
"shtn": "07-08 xiusidunhuojian(dianzijingji)",
"st": 2,
"egid": 15357835,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498054,
"htn": "07-08 休斯敦火箭(电子竞技)",
"atid": 498051,
"atn": "00-01 洛杉矶湖人(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q4 02:28",
"rbpid": "Q4",
"mlc": 6,
"hs": 44,
"as": 46,
"hlsu": true,
"edt": "2026-02-05T04:59:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 12,
"as": 8
},
{
"egti": 5,
"hs": 14,
"as": 15
},
{
"egti": 6,
"hs": 16,
"as": 12
},
{
"egti": 7,
"hs": 2,
"as": 11
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 5",
"pid": 197,
"pn": "VS NBA",
"pon": 0,
"cid": 77903,
"cn": "IM独家 经典 NBA 2K24 (4x5分钟)",
"cpmon": 7490,
"crbon": 7490,
"scn": "IMdujia jingdian NBA 2K24 (4x5fenzhong)",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298935
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343869908,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 99.5,
"o": 0.8,
"ot": 2,
"si": 3,
"wsi": 30807426840
},
{
"s": "",
"hdp": 99.5,
"o": 0.76,
"ot": 2,
"si": 4,
"wsi": 30807426841
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869905,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 6.5,
"o": 0.81,
"ot": 2,
"si": 1,
"wsi": 30807387826
},
{
"s": "",
"hdp": 6.5,
"o": 0.75,
"ot": 2,
"si": 2,
"wsi": 30807387827
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343869911,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.15,
"ot": 3,
"si": 8,
"wsi": 30802448615
},
{
"s": "",
"o": 3.95,
"ot": 3,
"si": 9,
"wsi": 30802448616
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869916,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 45.5,
"o": 0.74,
"ot": 2,
"si": 3,
"wsi": 30807439217
},
{
"s": "",
"hdp": 45.5,
"o": 0.72,
"ot": 2,
"si": 4,
"wsi": 30807439218
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869913,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 5.5,
"o": 0.59,
"ot": 2,
"si": 1,
"wsi": 30807396861
},
{
"s": "",
"hdp": 5.5,
"o": 0.87,
"ot": 2,
"si": 2,
"wsi": 30807396862
}
],
"ico": false
}
],
"on": 999,
"shtn": "04-05 shengandongniaomaci(dianzijingji)",
"st": 2,
"egid": 15357841,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498052,
"htn": "04-05 圣安东尼奥马刺(电子竞技)",
"atid": 498057,
"atn": "16-17 金州勇士(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q2 03:17",
"rbpid": "Q2",
"mlc": 15,
"hs": 17,
"as": 11,
"hlsu": true,
"edt": "2026-02-05T05:15:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 13,
"as": 9
},
{
"egti": 5,
"hs": 4,
"as": 2
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 5",
"pid": 197,
"pn": "VS NBA",
"pon": 0,
"cid": 77903,
"cn": "IM独家 经典 NBA 2K24 (4x5分钟)",
"cpmon": 7490,
"crbon": 7490,
"scn": "IMdujia jingdian NBA 2K24 (4x5fenzhong)",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298937
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343869882,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 107.5,
"o": 0.85,
"ot": 2,
"si": 3,
"wsi": 30802450655
},
{
"s": "",
"hdp": 107.5,
"o": 0.71,
"ot": 2,
"si": 4,
"wsi": 30802450656
}
],
"ico": false
},
{
"bti": 2,
"btn": "大/小",
"mi": 2343869883,
"ml": 2,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 106.5,
"o": 0.69,
"ot": 2,
"si": 3,
"wsi": 30802450653
},
{
"s": "",
"hdp": 106.5,
"o": 0.87,
"ot": 2,
"si": 4,
"wsi": 30802450654
}
],
"ico": false
},
{
"bti": 2,
"btn": "大/小",
"mi": 2343869884,
"ml": 3,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 108.5,
"o": 0.98,
"ot": 2,
"si": 3,
"wsi": 30802450657
},
{
"s": "",
"hdp": 108.5,
"o": 0.58,
"ot": 2,
"si": 4,
"wsi": 30802450658
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869879,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -4.5,
"o": 0.74,
"ot": 2,
"si": 1,
"wsi": 30802450649
},
{
"s": "",
"hdp": -4.5,
"o": 0.82,
"ot": 2,
"si": 2,
"wsi": 30802450650
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869880,
"ml": 2,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -3.5,
"o": 0.92,
"ot": 2,
"si": 1,
"wsi": 30802450651
},
{
"s": "",
"hdp": -3.5,
"o": 0.64,
"ot": 2,
"si": 2,
"wsi": 30802450652
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869881,
"ml": 3,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -5.5,
"o": 0.62,
"ot": 2,
"si": 1,
"wsi": 30802450647
},
{
"s": "",
"hdp": -5.5,
"o": 0.94,
"ot": 2,
"si": 2,
"wsi": 30802450648
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343869885,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 2.6,
"ot": 3,
"si": 8,
"wsi": 30802450659
},
{
"s": "",
"o": 1.35,
"ot": 3,
"si": 9,
"wsi": 30802450660
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869892,
"ml": 3,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 51.5,
"o": 0.99,
"ot": 2,
"si": 3,
"wsi": 30802450673
},
{
"s": "",
"hdp": 51.5,
"o": 0.57,
"ot": 2,
"si": 4,
"wsi": 30802450674
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869890,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 50.5,
"o": 0.8,
"ot": 2,
"si": 3,
"wsi": 30802450671
},
{
"s": "",
"hdp": 50.5,
"o": 0.76,
"ot": 2,
"si": 4,
"wsi": 30802450672
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869891,
"ml": 2,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 49.5,
"o": 0.58,
"ot": 2,
"si": 3,
"wsi": 30802450669
},
{
"s": "",
"hdp": 49.5,
"o": 0.98,
"ot": 2,
"si": 4,
"wsi": 30802450670
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869887,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": -1.5,
"o": 0.78,
"ot": 2,
"si": 1,
"wsi": 30802450665
},
{
"s": "",
"hdp": -1.5,
"o": 0.78,
"ot": 2,
"si": 2,
"wsi": 30802450666
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869888,
"ml": 2,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": -2.5,
"o": 0.56,
"ot": 2,
"si": 1,
"wsi": 30802450663
},
{
"s": "",
"hdp": -2.5,
"o": 1,
"ot": 2,
"si": 2,
"wsi": 30802450664
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869889,
"ml": 3,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": -0.5,
"o": 1,
"ot": 2,
"si": 1,
"wsi": 30802450667
},
{
"s": "",
"hdp": -0.5,
"o": 0.56,
"ot": 2,
"si": 2,
"wsi": 30802450668
}
],
"ico": false
},
{
"bti": 4,
"btn": "上半场 独赢",
"mi": 2343869893,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"o": 2.15,
"ot": 3,
"si": 8,
"wsi": 30802450675
},
{
"s": "",
"o": 1.52,
"ot": 3,
"si": 9,
"wsi": 30802450676
}
],
"ico": false
}
],
"on": 999,
"shtn": "07-08 boshidunkaierteren(dianzijingji)",
"st": 2,
"egid": 15357838,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498053,
"htn": "07-08 波士顿凯尔特人(电子竞技)",
"atid": 498056,
"atn": "15-16 克利夫兰骑士(电子竞技)",
"iop": true,
"isrbt": false,
"mlc": 58,
"hlsu": false,
"edt": "2026-02-05T05:35:00-04:00",
"ei": {
"hq": true
},
"rss": [],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 5",
"pid": 197,
"pn": "VS NBA",
"pon": 0,
"cid": 77903,
"cn": "IM独家 经典 NBA 2K24 (4x5分钟)",
"cpmon": 7490,
"crbon": 7490,
"scn": "IMdujia jingdian NBA 2K24 (4x5fenzhong)",
"m": 2,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298936
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343868536,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 231.5,
"o": 0.62,
"ot": 2,
"si": 3,
"wsi": 30807275904
},
{
"s": "",
"hdp": 231.5,
"o": 0.84,
"ot": 2,
"si": 4,
"wsi": 30807275905
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343868533,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 1.5,
"o": 0.7,
"ot": 2,
"si": 1,
"wsi": 30807248474
},
{
"s": "",
"hdp": 1.5,
"o": 0.76,
"ot": 2,
"si": 2,
"wsi": 30807248475
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343868539,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.58,
"ot": 3,
"si": 8,
"wsi": 30802443126
},
{
"s": "",
"o": 2.02,
"ot": 3,
"si": 9,
"wsi": 30802443127
}
],
"ico": false
}
],
"on": 999,
"shtn": "luoshanjihuren(dianzijingji)",
"st": 2,
"egid": 15357818,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498021,
"htn": "洛杉矶湖人(电子竞技)",
"atid": 498010,
"atn": "亚特兰大老鹰(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q4 05:28",
"rbpid": "Q4",
"mlc": 6,
"hs": 100,
"as": 101,
"hlsu": true,
"edt": "2026-02-05T04:15:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 23,
"as": 20
},
{
"egti": 5,
"hs": 29,
"as": 38
},
{
"egti": 6,
"hs": 33,
"as": 25
},
{
"egti": 7,
"hs": 15,
"as": 18
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 197,
"pn": "VS NBA",
"pon": 0,
"cid": 77868,
"cn": "IM独家 NBA 2K21",
"cpmon": 7500,
"crbon": 7500,
"scn": "IMdujia NBA 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298835
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343869700,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 224.5,
"o": 0.75,
"ot": 2,
"si": 3,
"wsi": 30807432280
},
{
"s": "",
"hdp": 224.5,
"o": 0.81,
"ot": 2,
"si": 4,
"wsi": 30807432281
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869697,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -7.5,
"o": 0.75,
"ot": 2,
"si": 1,
"wsi": 30807399474
},
{
"s": "",
"hdp": -7.5,
"o": 0.81,
"ot": 2,
"si": 2,
"wsi": 30807399475
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343869703,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 2.47,
"ot": 3,
"si": 8,
"wsi": 30802450491
},
{
"s": "",
"o": 1.39,
"ot": 3,
"si": 9,
"wsi": 30802450492
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869708,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 113.5,
"o": 0.65,
"ot": 2,
"si": 3,
"wsi": 30802450505
},
{
"s": "",
"hdp": 113.5,
"o": 0.81,
"ot": 2,
"si": 4,
"wsi": 30802450506
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869705,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": -0.5,
"o": 0.67,
"ot": 2,
"si": 1,
"wsi": 30807403818
},
{
"s": "",
"hdp": -0.5,
"o": 0.79,
"ot": 2,
"si": 2,
"wsi": 30807403819
}
],
"ico": false
},
{
"bti": 4,
"btn": "上半场 独赢",
"mi": 2343869711,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"o": 1.79,
"ot": 3,
"si": 8,
"wsi": 30802450507
},
{
"s": "",
"o": 1.77,
"ot": 3,
"si": 9,
"wsi": 30802450508
}
],
"ico": false
}
],
"on": 999,
"shtn": "bulukelinlanwang(dianzijingji)",
"st": 2,
"egid": 15357837,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498012,
"htn": "布鲁克林篮网(电子竞技)",
"atid": 498021,
"atn": "洛杉矶湖人(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q1 04:44",
"rbpid": "Q1",
"mlc": 10,
"hs": 16,
"as": 14,
"hlsu": true,
"edt": "2026-02-05T05:15:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 16,
"as": 14
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 197,
"pn": "VS NBA",
"pon": 0,
"cid": 77868,
"cn": "IM独家 NBA 2K21",
"cpmon": 7500,
"crbon": 7500,
"scn": "IMdujia NBA 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298928
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343868380,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 231.5,
"o": 0.74,
"ot": 2,
"si": 3,
"wsi": 30807427921
},
{
"s": "",
"hdp": 231.5,
"o": 0.72,
"ot": 2,
"si": 4,
"wsi": 30807427922
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343868377,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 12.5,
"o": 0.81,
"ot": 2,
"si": 1,
"wsi": 30807146314
},
{
"s": "",
"hdp": 12.5,
"o": 0.65,
"ot": 2,
"si": 2,
"wsi": 30807146315
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343868383,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.03,
"ot": 3,
"si": 8,
"wsi": 30802444372
},
{
"s": "",
"o": 6.6,
"ot": 3,
"si": 9,
"wsi": 30802444373
}
],
"ico": false
}
],
"on": 999,
"shtn": "yidali(dianzijingji)",
"st": 2,
"egid": 15357813,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498067,
"htn": "意大利(电子竞技)",
"atid": 498068,
"atn": "法国(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q3 00:02",
"rbpid": "Q3",
"mlc": 6,
"hs": 90,
"as": 81,
"hlsu": true,
"edt": "2026-02-05T04:15:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 20,
"as": 24
},
{
"egti": 5,
"hs": 40,
"as": 25
},
{
"egti": 6,
"hs": 30,
"as": 32
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 246,
"pn": "VS WORLD",
"pon": 0,
"cid": 77873,
"cn": "IM独家 世界篮球 2K21",
"cpmon": 7501,
"crbon": 7501,
"scn": "IMdujia shijielanqiu 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298838
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343869726,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 211.5,
"o": 0.83,
"ot": 2,
"si": 3,
"wsi": 30807407184
},
{
"s": "",
"hdp": 211.5,
"o": 0.73,
"ot": 2,
"si": 4,
"wsi": 30807407185
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343869723,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": -5.5,
"o": 0.8,
"ot": 2,
"si": 1,
"wsi": 30802451533
},
{
"s": "",
"hdp": -5.5,
"o": 0.76,
"ot": 2,
"si": 2,
"wsi": 30802451534
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2343869729,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 2.32,
"ot": 3,
"si": 8,
"wsi": 30802451543
},
{
"s": "",
"o": 1.44,
"ot": 3,
"si": 9,
"wsi": 30802451544
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2343869734,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 98.5,
"o": 0.8,
"ot": 2,
"si": 3,
"wsi": 30807407186
},
{
"s": "",
"hdp": 98.5,
"o": 0.76,
"ot": 2,
"si": 4,
"wsi": 30807407187
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2343869731,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": -1.5,
"o": 0.82,
"ot": 2,
"si": 1,
"wsi": 30802451549
},
{
"s": "",
"hdp": -1.5,
"o": 0.74,
"ot": 2,
"si": 2,
"wsi": 30802451550
}
],
"ico": false
},
{
"bti": 4,
"btn": "上半场 独赢",
"mi": 2343869737,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"o": 2.02,
"ot": 3,
"si": 8,
"wsi": 30802451559
},
{
"s": "",
"o": 1.59,
"ot": 3,
"si": 9,
"wsi": 30802451560
}
],
"ico": false
}
],
"on": 999,
"shtn": "agenting(dianzijingji)",
"st": 2,
"egid": 15357833,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498061,
"htn": "阿根廷(电子竞技)",
"atid": 498068,
"atn": "法国(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q1 05:29",
"rbpid": "Q1",
"mlc": 16,
"hs": 10,
"as": 10,
"hlsu": true,
"edt": "2026-02-05T05:15:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 10,
"as": 10
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 246,
"pn": "VS WORLD",
"pon": 0,
"cid": 77873,
"cn": "IM独家 世界篮球 2K21",
"cpmon": 7501,
"crbon": 7501,
"scn": "IMdujia shijielanqiu 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298929
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2343868848,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 215.5,
"o": 0.69,
"ot": 2,
"si": 3,
"wsi": 30807140894
},
{
"s": "",
"hdp": 215.5,
"o": 0.77,
"ot": 2,
"si": 4,
"wsi": 30807140895
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2343868845,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 15.5,
"o": 0.79,
"ot": 2,
"si": 1,
"wsi": 30802443994
},
{
"s": "",
"hdp": 15.5,
"o": 0.67,
"ot": 2,
"si": 2,
"wsi": 30802443995
}
],
"ico": false
}
],
"on": 999,
"shtn": "shenzhenmakeboluo(dianzijingji)",
"st": 2,
"egid": 15357827,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 497999,
"htn": "深圳马可波罗(电子竞技)",
"atid": 497996,
"atn": "南京同曦宙光(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q4 10:34",
"rbpid": "Q4",
"mlc": 5,
"hs": 87,
"as": 77,
"hlsu": true,
"edt": "2026-02-05T04:15:00-04:00",
"ei": {
"hq": false
},
"rss": [
{
"egti": 4,
"hs": 32,
"as": 20
},
{
"egti": 5,
"hs": 25,
"as": 21
},
{
"egti": 6,
"hs": 30,
"as": 31
},
{
"egti": 7,
"hs": 0,
"as": 5
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 201,
"pn": "VS CBA",
"pon": 0,
"cid": 77863,
"cn": "IM独家 CBA 2K21",
"cpmon": 7500,
"crbon": 7510,
"scn": "IMdujia CBA 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106298846
},
{
"mls": [
{
"bti": 2,
"btn": "大/小",
"mi": 2344322010,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 220.5,
"o": 0.72,
"ot": 2,
"si": 3,
"wsi": 30807408570
},
{
"s": "",
"hdp": 220.5,
"o": 0.84,
"ot": 2,
"si": 4,
"wsi": 30807408571
}
],
"ico": false
},
{
"bti": 1,
"btn": "让分",
"mi": 2344322007,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"hdp": 2.5,
"o": 0.83,
"ot": 2,
"si": 1,
"wsi": 30807433877
},
{
"s": "",
"hdp": 2.5,
"o": 0.73,
"ot": 2,
"si": 2,
"wsi": 30807433878
}
],
"ico": false
},
{
"bti": 4,
"btn": "独赢",
"mi": 2344322013,
"ml": 1,
"pi": 1,
"il": false,
"ws": [
{
"s": "",
"o": 1.67,
"ot": 3,
"si": 8,
"wsi": 30806991085
},
{
"s": "",
"o": 1.91,
"ot": 3,
"si": 9,
"wsi": 30806991086
}
],
"ico": false
},
{
"bti": 2,
"btn": "上半场 大/小",
"mi": 2344322018,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 104.5,
"o": 0.81,
"ot": 2,
"si": 3,
"wsi": 30807421341
},
{
"s": "",
"hdp": 104.5,
"o": 0.75,
"ot": 2,
"si": 4,
"wsi": 30807421342
}
],
"ico": false
},
{
"bti": 1,
"btn": "上半场 让分",
"mi": 2344322015,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"hdp": 1.5,
"o": 0.71,
"ot": 2,
"si": 1,
"wsi": 30807433881
},
{
"s": "",
"hdp": 1.5,
"o": 0.85,
"ot": 2,
"si": 2,
"wsi": 30807433882
}
],
"ico": false
},
{
"bti": 4,
"btn": "上半场 独赢",
"mi": 2344322021,
"ml": 1,
"pi": 2,
"il": false,
"ws": [
{
"s": "",
"o": 1.58,
"ot": 3,
"si": 8,
"wsi": 30806991101
},
{
"s": "",
"o": 2.03,
"ot": 3,
"si": 9,
"wsi": 30806991102
}
],
"ico": false
}
],
"on": 9999,
"shtn": "zhejiangguangshaxiongshi(dianzijingji)",
"st": 2,
"egid": 15375853,
"gtid": 1,
"egtid": 1,
"rbtSts": 0,
"hv": false,
"is": true,
"il": true,
"isFav": false,
"im": false,
"htid": 498002,
"htn": "浙江广厦雄狮(电子竞技)",
"atid": 497999,
"atn": "深圳马可波罗(电子竞技)",
"iop": true,
"isrbt": true,
"rbt": "Q1 07:16",
"rbpid": "Q1",
"mlc": 16,
"hs": 9,
"as": 7,
"hlsu": true,
"edt": "2026-02-05T05:15:00-04:00",
"ei": {
"hq": true
},
"rss": [
{
"egti": 4,
"hs": 9,
"as": 7
}
],
"rsid": 55,
"iscyb": true,
"abt": [
4,
93,
94
],
"ico": false,
"pc": "4 x 12",
"pid": 201,
"pn": "VS CBA",
"pon": 0,
"cid": 77863,
"cn": "IM独家 CBA 2K21",
"cpmon": 7500,
"crbon": 7510,
"scn": "IMdujia CBA 2K21",
"m": 3,
"maxdt": "0001-01-01T00:00:00+00:00",
"mindt": "0001-01-01T00:00:00+00:00",
"io": true,
"eid": 106318096
}
]
}
],
"d": "H4sIAAAAAAAAA4uuVgouyC8qCaksSFWyMtJR8k0syk4tUbIy1lFySc0pSQxOzi8CyZgZGBmYGpgamRmaGhgY6BkgSwcU5ZdlpqQWKVkBhcNSi4oz8/P8SnOTwCJ6BrU6JFtiZGBmYY7LEkOslsQCALSZ3YrLAAAA",
"StatusCode": 100
}
2. 核心代码实现
本工具基于阿里巴巴的 Fastjson 库实现。通过深度优先搜索(DFS)遍历树状结构,将复杂的嵌套逻辑转化为直观的路径列表。
java
package com.lxw.nb888.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.SneakyThrows;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Map;
/**
* JSON 路径探测器
* 功能:将复杂的 JSON 结构扁平化,输出所有可访问的属性路径
* 适用场景:辅助 AI 解析、数据映射、接口对比
*/
public class JsonPathExplorer {
@SneakyThrows
public static void main(String[] args) {
// 1. 读取本地 JSON 文件(请替换为你的实际路径)
String filePath = "C:\\Users\\xxx\\Desktop\\大项目\\新欧洲\\json.txt";
String json = new String(Files.readAllBytes(Paths.get(filePath)));
// 2. 执行解析并打印
printPaths(json);
}
/**
* 解析入口方法
* @param json 原始 JSON 字符串
*/
public static void printPaths(String json) {
if (json == null || json.trim().isEmpty()) {
System.err.println("警告:输入的 JSON 字符串为空。");
return;
}
// Fastjson 会自动解析为 JSONObject 或 JSONArray
Object rootNode = JSON.parse(json);
System.out.println("--- JSON 路径解析开始 ---");
traverse(rootNode, "");
System.out.println("--- JSON 路径解析结束 ---");
}
/**
* 递归遍历核心逻辑
* @param node 当前处理的节点
* @param currentPath 当前已累积的路径前缀
*/
private static void traverse(Object node, String currentPath) {
// 1. 处理 null 值
if (node == null) {
System.out.println("路径: " + currentPath + " | 值: null");
return;
}
// 2. 处理 JSON 对象 (Map 结构)
if (node instanceof JSONObject) {
JSONObject jsonObject = (JSONObject) node;
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
String key = entry.getKey();
// 拼接新路径:根节点直接用 key,子节点追加 .key
String nextPath = currentPath.isEmpty() ? key : currentPath + "." + key;
traverse(entry.getValue(), nextPath);
}
}
// 3. 处理 JSON 数组 (List 结构)
else if (node instanceof JSONArray) {
JSONArray jsonArray = (JSONArray) node;
for (int i = 0; i < jsonArray.size(); i++) {
// 拼接数组下标路径,例如:items[0]
traverse(jsonArray.get(i), currentPath + "[" + i + "]");
}
}
// 4. 处理叶子节点 (String, Integer, Boolean 等基本类型)
else {
System.out.println("路径: " + currentPath + " | 示例值: " + node);
}
}
}
3. 这种工具有哪些"神仙"用途?
🚀 3.1 辅助 AI 精准编写代码(解决 AI 幻觉)
这是目前最实用的场景。直接给 AI 扔几百行 JSON,它可能会写错层级。 技巧:先用此工具跑出路径,然后对 AI 说:
"根据以下路径清单:
data.order.user_info.address.zip_code,请帮我写出提取该字段的 Fastjson 解析代码。" 反馈:有了明确的路径引导,AI 生成的代码准确率几乎 100%,不再胡言乱语。
🔍 3.2 接口版本比对
在对接第三方平台(如 TikTok Shop、亚马逊 API)时,当接口升级,你可以将新旧版本的 JSON 路径分别导出到 TXT,利用 Diff 工具 一秒定位哪些字段更名了、哪些层级被删除了。
🛠️ 3.3 自动化测试断言
在编写单元测试时,我们经常需要断言返回 JSON 中的某个值。通过工具快速拷贝路径(如 result[0].status),直接粘贴到测试框架中,避免手动拼接字符串出错。
📊 3.4 快速生成数据字典
对于需要将 JSON 数据入库的数仓开发人员,运行此脚本可以迅速列出所有字段名及其所在层级,直接整理成 Excel 即可完成数据映射文档。
4. 总结
代码逻辑虽然不复杂,但它体现了 "工具化思维"。通过递归将复杂的嵌套逻辑转化为直观的路径列表,不仅提高了我们与 AI 协作的效率,也极大地减少了因层级数错而导致的线上 Bug。
希望这个小工具能帮你节省下"数括号"的时间,多喝一杯咖啡!