c# - 从 JSON 对象中获取键值
问题描述
我winform
通过我设法获取数据将对象传递给 C# 应用程序socketIO
,但是无法从对象获取键值,到目前为止,下面是我从套接字服务器捕获数据的代码。
socket.On("traverseLeft", (data) =>
{
Invoke(new Action(() =>
{
MessageBox.Show(data.ToString());
}));
});
所以我的输出如下,我需要得到的是interactive_link的值为“sub”,我怎样才能在C#上实现呢?
{
"msg":{
"interactive_link":"sub"
}
}
解决方案
首先,下载 Newtonsoft NuGet 包:Newtonsoft.Json
从 NuGet。
然后创建以下类:
public class RootObject
{
[JsonProperty("msg")]
public Message Message { get; set; }
}
public class Message
{
[JsonProperty("interactive_link")]
public string InteractiveLink { get; set; }
}
最后这样做:
var inputObj = JsonConvert.DeserializeObject<RootObject>(data);
var message = inputObj.Message.InteractiveLink;
MessageBox.Show(message);
希望这可以帮助。
推荐阅读
- vba - 为什么循环在if语句的“else”处结束
- php - 如何删除已弃用的 Symfony\Component\Debug\DebugClassLoader?
- xcode - 更改默认 XCode 架构
- javascript - 带有 .push 和 forEach 的简单 JavaScript 应用程序
- flutter - Flutter Web Regex-打开大写锁定按钮时如何处理抛出异常
- c++ - 冲突时的哈希表链接。如何创建指向链表对象的哈希表指针数组?
- php - 从 foreach 循环中获取先前的迭代值
- passwords - 是否有一种编程方式来读取/打开/解密 Libreoffice ODS 文件(最好是 python / bash)
- laravel - 此路由不支持 GET 方法。支持的方法:POST / PATCH / DELETE
- swift - 如何清除具有相同 BundleIDdentifier 的应用程序