【问题标题】:Remove JSON object from array从数组中删除 JSON 对象
【发布时间】:2015-08-24 17:31:52
【问题描述】:

我正在使用它来将我的数据序列化为 vb.net Newtonsoft.Json 中的对象但我想做的是从我的事件数组中删除对象。第一个(索引 0)。 我知道可以创建一个类和一个列表,但是我得到的数据在每次调用中都在变化。

Dim msg As String = Encoding.UTF8.GetString(message.Body)

Dim imgageInfo As Object = JsonConvert.DeserializeObject(Of Object)(msg)
MsgBox(imgageInfo("event")(0)("settings").ToString)

【问题讨论】:

  • 您要删除哪个对象?在数组的位置0?
  • 我要删除事件数组中的第一个对象
  • 如果你反序列化到一个列表它很容易删除你不想要的。我不确定Of Object 是不是个好主意。您的“更改”评论听起来像是 Scope 的问题。
  • 如果我不能在我的数据上创建一个类,我应该用什么来代替Of Object
  • 通常,您将某些内容反序列化为其类型,以便您可以使用为该类型定义的属性和方法。反序列化为Object 隐藏/屏蔽这些方法和属性(除非您使用需要Option Strict Off 的后期绑定)。您显示的内容与使用 JObject.Parse() 时没有太大区别。

标签: json vb.net json.net


【解决方案1】:

您可以将对象反序列化为字典并从那里对数组进行调整。

JsonConvert.DeserializeObject<Dictionary<string, string>>(msg); 

也许你的 json 样本会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 2018-11-13
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2018-06-19
    相关资源
    最近更新 更多