【发布时间】:2019-03-03 06:21:11
【问题描述】:
我有一个长字符串,它是一个 json 文件内容。在这个字符串的某个地方,它包含以下内容:“totalWinAmount”:100
为了找到并返回这个值,我目前正在这样做:
int totalWinAmountIndex = line.lastIndexOf("totalWinAmount");
String resultTotalWinAmount = line.substring(totalWinAmountIndex + 16, totalWinAmountIndex + 19);
这行得通,resultTotalWinAmount 正确设置为 100,但我很好奇这是否是这种情况下的最佳实践,这是否真的是糟糕的编码,或者是否有更好的方法?
【问题讨论】:
-
你可以使用正则表达式。
-
真的取决于它的用途、使用位置等。在专业的业务环境中,我会使用 JSON 库将整个事物解析为对象表示,然后从那里获取值.在一个我在家为自己破解的小工具中,我可能会做你所做的事情。
-
如果它总是在同一个地方,并且
totalWinAmount保持原样,那么你所做的就没有真正的问题。除了可以使用常量代替硬编码16和19。但也许考虑一个合适的 JSON 解析器。
标签: java string parsing substring lastindexof