[英]C#.net Getting values from json
我需要在C#应用程序中使用一些JSON数据,但是我无法找到获取数据的方法。
我正在使用SOCKET.IO,这是接收到的原始json字符串的示例
`socket.On("recieved", (data) =>
{
MessageBox.Show(data.Json.ToJsonString());
//outputs : {'name':'received','args':[{'data':'somedata'}]}
//get values from data
}`<br>
我需要检索“数据”的值
查看SocketIO4Net档案中的示例。 定义一个班级
using Newtonsoft.Json;
namespace TestProject
{
[JsonObject(MemberSerialization.OptIn)]
public class JSonData
{
[JsonProperty]
public string data { get; set; }
public JSonData()
{
}
public string ToJsonString()
{
return JsonConvert.SerializeObject(this);
}
public static JSonData Deserialize(string jsonString)
{
return JsonConvert.DeserializeObject<JSonData>(jsonString);
}
}
}
在获得像这样的数据之后:
JSonData JData = data.Json.GetFirstArgAs<JSonData>();
好的,我可以正常工作,但是如果我想要JSON字符串{data:"somedata",anotherdata:'someanotherdata'}
所有arg并获取'anotherdata',我尝试了
JSonData part = data.Json.GetArgsAs();
对不起,双重答案,但这对我有用
private Newtonsoft.Json.Linq.JObject get_data(SocketIOClient.Messages.JsonEncodedEventMessage data) { var inputdata = data; dynamic jsondata = inputdata.GetArgsAs<Object>(); jsondata = jsondata[0]; return jsondata; }
然后做
dynamic json = get_data(data.Json);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.