【发布时间】:2021-11-26 02:04:58
【问题描述】:
我有一个类似于 json 格式的字符串。由以下代码生成:
str = "{"
str &= Chr(34) & "code" & Chr(34) + ":" & Chr(34) & "0000001" & Chr(34)
str &= Chr(34) & "name" & Chr(34) + ":" & Chr(34) & "product 1" & Chr(34)
str &= Chr(34) & "value" & Chr(34) + ":" & Chr(34) & "150.00" & Chr(34)
str &= "}"
我只需要获取代码、名称和值之后的值。 我找不到有效的方法来做到这一点,因为稍后我将不得不推广到更多术语。在不转换为 JSON 的情况下如何做到这一点?
【问题讨论】:
-
你确定元素之间没有逗号吗?因为如果有,那么它确实是 JSON,你可以parse it as JSON。
-
+=在 vb6 中不是有效的赋值运算符。它在 vb.net 中。请更正您的标签。而且 - 由于正在执行字符串连接,&=和&将是更好的运算符(尽管+=和+将适用于给定的语句)。 -
如果您无法将其解析为 JSON,您是否查看过正则表达式?
-
如果格式是固定的,不能做成合适的JOSN,那么就在Chr(34)上拆分字符串,然后从数组中取出第3、7、11个元素。
-
chr(34) 是一个引号,所以构造的字符串看起来像
{"code":"0000001""name":"product 1""value":"150.00"}。我怀疑你会找到任何现有的工具来为你解析它。最好按照@Slugsie 的建议继续并将字符串拆分为一个数组,如果字符串格式一致,那么第一个“值”将是第三个元素,任何后续的将是之后的每第四个元素(7, 11、15、19 等)。
标签: json string vb6 string-concatenation