Java遞歸實現(xiàn)JSON全路徑自動化探測工具
1. 痛點:為什么我們需要 JSON 路徑?
在日常開發(fā)中,面對嵌套十幾層、成百上千行的復雜 JSON(如電商商品詳情、支付網(wǎng)關(guān)回調(diào)等),開發(fā)者常面臨以下困境:
- 路徑定位難:為了取一個深層字段,必須反復折疊展開,極易數(shù)錯層級。
- AI 幻覺問題:直接把巨大 JSON 丟給 AI 編寫解析代碼時,AI 經(jīng)常會“腦補”不存在的中間層級,導致代碼運行報錯。
- 文檔缺失:接手老項目或第三方黑盒接口時,沒有文檔說明,只能靠肉眼摸索數(shù)據(jù)結(jié)構(gòu)。
本文分享一個輕量級的 Java 工具類,利用遞歸算法一鍵拉平 JSON,輸出所有葉子節(jié)點的完整路徑。
附上實際爬蟲抓到的一個復雜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": "澳大利亞籃球聯(lián)賽",
"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": "阿拉伯聯(lián)合酋長國",
"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甲級聯(lián)賽",
"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 職業(yè)聯(lián)賽",
"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": "無限環(huán)",
"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 女子職業(yè)聯(lián)賽",
"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女子甲級聯(lián)賽",
"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獨家 經(jīng)典 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獨家 經(jīng)典 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獨家 經(jīng)典 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": "布魯克林籃網(wǎng)(電子競技)",
"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. 核心代碼實現(xiàn)
本工具基于阿里巴巴的 Fastjson 庫實現(xiàn)。通過深度優(yōu)先搜索(DFS)遍歷樹狀結(jié)構(gòu),將復雜的嵌套邏輯轉(zhuǎn)化為直觀的路徑列表。
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 結(jié)構(gòu)扁平化,輸出所有可訪問的屬性路徑
* 適用場景:輔助 AI 解析、數(shù)據(jù)映射、接口對比
*/
public class JsonPathExplorer {
@SneakyThrows
public static void main(String[] args) {
// 1. 讀取本地 JSON 文件(請?zhí)鎿Q為你的實際路徑)
String filePath = "C:\\Users\\xxx\\Desktop\\大項目\\新歐洲\\json.txt";
String json = new String(Files.readAllBytes(Paths.get(filePath)));
// 2. 執(zhí)行解析并打印
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 路徑解析結(jié)束 ---");
}
/**
* 遞歸遍歷核心邏輯
* @param node 當前處理的節(jié)點
* @param currentPath 當前已累積的路徑前綴
*/
private static void traverse(Object node, String currentPath) {
// 1. 處理 null 值
if (node == null) {
System.out.println("路徑: " + currentPath + " | 值: null");
return;
}
// 2. 處理 JSON 對象 (Map 結(jié)構(gòu))
if (node instanceof JSONObject) {
JSONObject jsonObject = (JSONObject) node;
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
String key = entry.getKey();
// 拼接新路徑:根節(jié)點直接用 key,子節(jié)點追加 .key
String nextPath = currentPath.isEmpty() ? key : currentPath + "." + key;
traverse(entry.getValue(), nextPath);
}
}
// 3. 處理 JSON 數(shù)組 (List 結(jié)構(gòu))
else if (node instanceof JSONArray) {
JSONArray jsonArray = (JSONArray) node;
for (int i = 0; i < jsonArray.size(); i++) {
// 拼接數(shù)組下標路徑,例如:items[0]
traverse(jsonArray.get(i), currentPath + "[" + i + "]");
}
}
// 4. 處理葉子節(jié)點 (String, Integer, Boolean 等基本類型)
else {
System.out.println("路徑: " + currentPath + " | 示例值: " + node);
}
}
}
3. 這種工具有哪些“神仙”用途?
3.1 輔助 AI 精準編寫代碼(解決 AI 幻覺)
這是目前最實用的場景。直接給 AI 扔幾百行 JSON,它可能會寫錯層級。 技巧:先用此工具跑出路徑,然后對 AI 說:
“根據(jù)以下路徑清單:data.order.user_info.address.zip_code,請幫我寫出提取該字段的 Fastjson 解析代碼。” 反饋:有了明確的路徑引導,AI 生成的代碼準確率幾乎 100%,不再胡言亂語。
3.2 接口版本比對
在對接第三方平臺(如 TikTok Shop、亞馬遜 API)時,當接口升級,你可以將新舊版本的 JSON 路徑分別導出到 TXT,利用 Diff 工具 一秒定位哪些字段更名了、哪些層級被刪除了。
3.3 自動化測試斷言
在編寫單元測試時,我們經(jīng)常需要斷言返回 JSON 中的某個值。通過工具快速拷貝路徑(如 result[0].status),直接粘貼到測試框架中,避免手動拼接字符串出錯。
3.4 快速生成數(shù)據(jù)字典
對于需要將 JSON 數(shù)據(jù)入庫的數(shù)倉開發(fā)人員,運行此腳本可以迅速列出所有字段名及其所在層級,直接整理成 Excel 即可完成數(shù)據(jù)映射文檔。
4. 總結(jié)
代碼邏輯雖然不復雜,但它體現(xiàn)了 “工具化思維”。通過遞歸將復雜的嵌套邏輯轉(zhuǎn)化為直觀的路徑列表,不僅提高了我們與 AI 協(xié)作的效率,也極大地減少了因?qū)蛹墧?shù)錯而導致的線上 Bug。
希望這個小工具能幫你節(jié)省下“數(shù)括號”的時間,多喝一杯咖啡!
以上就是Java遞歸實現(xiàn)JSON全路徑自動化探測工具的詳細內(nèi)容,更多關(guān)于Java遞歸JSON全路徑探測的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java web實現(xiàn)網(wǎng)上手機銷售系統(tǒng)
這篇文章主要為大家詳細介紹了java web實現(xiàn)網(wǎng)上手機銷售系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Java實現(xiàn)文件上傳到服務(wù)器本地并通過url訪問的方法步驟
最近項目中使用到了文件上傳到服務(wù)器的功能,下面這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)文件上傳到服務(wù)器本地并通過url訪問的方法步驟,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下2023-04-04
SpringCloud中分析講解Feign組件添加請求頭有哪些坑梳理
在spring?cloud的項目中用到了feign組件,簡單配置過后即可完成請求的調(diào)用。又因為有向請求添加Header頭的需求,查閱了官方示例后,就覺得很簡單,然后一頓操作之后調(diào)試報錯...下面我們來詳細了解2022-06-06
SpringBoot實現(xiàn)插件化架構(gòu)的4種方案詳解
在復雜業(yè)務(wù)場景下,傳統(tǒng)的單體應(yīng)用架構(gòu)往往面臨著功能擴展困難等困難,插件化架構(gòu)作為一種模塊化設(shè)計思想的延伸,能夠使系統(tǒng)具備更好的擴展性和靈活性,下面我們來看看SpringBoot環(huán)境下實現(xiàn)插件化架構(gòu)的4種實現(xiàn)方案吧2025-05-05

