-2

欢迎,我有一个指定格式的文本文件,如下所示:

"King": {
  "name": "Jack",
  "Age": "23",
  "ID": "001",
},

"Queen": {
  "name": "Lory",
  "Age": "19",
  "ID": "002",
  "Pass": "955",
},

我如何从{To中读取“King”}, 并检查文本是否包含"Pass"

以及如何替换"Age"of,King因为当我这样做时,每个Age单词都会被替换。

任何帮助将不胜感激并为我的小讲话感到抱歉。

4

1 回答 1

3

Thas 似乎是一个 JSON 文件,因此请使用 JSON 解析器,如JSON.NET来加载文件、解析和修改它。

例如

(我们必须打一点,因为你的数据没有“包含”{},所以我们在解析时添加它们,在序列化时删除它们)

' Adding a containing { }
Dim parsed As JObject = JObject.Parse("{ " & json & " }")
Dim king As JObject = DirectCast(parsed("King"), JObject)

king("Age") = 30

Dim pass As JToken

If king.TryGetValue("Pass", pass) Then
    ' has pass
End If

Dim json2 As String = JsonConvert.SerializeObject(parsed, Formatting.Indented)

' Now we remove the first and last { }
Dim ix As Integer = json2.IndexOf(ControlChars.Lf) + 1
Dim lastix As Integer = json2.LastIndexOf(ControlChars.Cr)

' The final text
Dim json3 As String = json2.Substring(ix, lastix - ix)
于 2013-08-07T06:58:50.490 回答