繁体   English   中英

C#.net从JSON获取值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM