怎么把这串字符串转换成 map

2018-02-22 15:24:28 +08:00
 masteryi

"{TotalPage=1, TotalCount=1, List=[{trdate=2018-01-20, chanel=I01, agpsid=, cramot=0, acblnc=5000, dpacct=20101032011000R0000044, opsnam=账户, authtl=, rvflg2=0, cycode=01, carefg=, trtime=19:21:19, pdinfo=sdf, pttram=+5,000.00, maifdt=2018-02-09, smryif=sdf, sernub=0, drcrfg=1, PayerAcNo=6217920688364550, prdcde=1000, moinf1=eww, prtif2=5000, prtif1=, agetps=, trcode=36009, ctnoac=6217920688364550, agpstp=, blflnm=GENLBL, bzbrch=2010103, smrycd=MB5101, trname=sdfj, PayeeAcNo=6217794123000000442, acpfsn=0001, deptyp=00, voucsq=, tlecod=888888, tlersn=8888880000001001, sequ02=1, cuacno=6217794123000000442, dramot=0}]}"

3758 次点击
所在节点    Java
11 条回复
cxbig
2018-02-22 15:30:50 +08:00
有点像 json 但是格式不对,但是看上去挺规整,我会用正则把:
key= 替换成"key":
string_var 替换成 "string_var"
空值 替换成 ""

再以 json 处理
masteryi
2018-02-22 15:33:45 +08:00
@cxbig 能写具体一点吗
picasso250
2018-02-22 15:34:27 +08:00
写个 parser 吧,正则是搞不定的.

不过,在写 parser 之前,搜一下,这是什么的默认输出(java 的?),以及有没有成熟的转换的方式.
cxbig
2018-02-22 15:36:45 +08:00
@masteryi
提供一个思路而已。具体实践请自行选择最优方式,身体力行。
LeeSeoung
2018-02-22 16:01:11 +08:00
用 json 解析,再填到 map 吧,一步到位不太可能。。而且 value 类型也不一致。。
yrom
2018-02-22 16:08:20 +08:00
这个应该可以看作没引号的 json,你试试用支持无引号 json 的解析库吧
fengche361
2018-02-23 10:47:54 +08:00
简单,先把=全局替换成 "=" ,然后再把 , 全局替换成 ", " ,然后就是一条 json 了
yzmm
2018-02-23 13:23:35 +08:00
这个不就时 map.toString 么?能否和给数据的人商量下格式?
iblessyou
2018-02-23 14:00:50 +08:00
@fengche361 你再看看这么替换出的是什么鬼
fengche361
2018-02-24 09:50:58 +08:00
@iblessyou 确实有些问题,=换成: ,然后再处理一些双引号的位置,就行了
agmtopy
2018-02-24 16:49:04 +08:00
@yzmm 好眼神。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX