C# C中JSON格式字符串(来自RESTAPI)的值#

C# C中JSON格式字符串(来自RESTAPI)的值#,c#,json,string,format,C#,Json,String,Format,最近,我有一个约会,我需要使用云的RESTAPI从云下载一些数据,并将该“字符串”中的值存储在一个对象或一些变量中。下载完成了,我现在需要做的就是解析数据 到目前为止,我一直在编写这种代码: HttpWebRequest request = (HttpWebRequest)WebRequest.Create("some link"); request.ContentType = "application/json; charset=utf-8"; request.Method = "GET";

最近,我有一个约会,我需要使用云的RESTAPI从云下载一些数据,并将该“字符串”中的值存储在一个对象或一些变量中。下载完成了,我现在需要做的就是解析数据

到目前为止,我一直在编写这种代码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("some link");

request.ContentType = "application/json; charset=utf-8";
request.Method = "GET";
request.Headers.Add("Carriots.apiKey", "key");
using (WebResponse response = request.GetResponse())
{
    using(Stream stream = response.GetResponseStream())
    {
        StreamReader reader = new StreamReader(stream);
        JObject json = JObject.Parse(reader.ReadToEnd());
        Console.WriteLine(json.ToString());
    }
}
以下是输出:

{
    "total_documents": 3,
    "result": [
    {
        "_id": "...",
        "protocol": "v1",
        "checksum": "",
        "_t": "str",
        "at": 1444134377,
        "device": "-just a device-",
        "data": {
            "field1": "123",
            "field2": "1536"
        },
        "id_developer": "....",
        "created_at": 1444134377,
        "owner": "-someUser-"
    }
    ]
}

我知道互联网上有很多解决方案,但没有一个能满足我的需要。好的,我发现了一些东西,但它会在每一行上迭代并以这种方式检查值,但在我的例子中,我可以有数千个这样的输出


是否有任何方法可以使用某种内置函数完成所有这些(我指的是解析),或者唯一的解决方案是迭代或编写一些正则表达式?

假设json始终遵循这种格式,请定义您的模型

public class jsonData{
    public int total_documents {get;set;}
    public resultData result {get;set;}
}

public class resultData{
    public int _id {get;set;}
    public string protocol {get;set;}
    ....
}
然后使用反序列化

Json.Deserialize<jsonData>(yourstring)
Json.Deserialize(yourstring)

你是在读c#还是js中的JSON?反序列化是你想要的!尝试Linq到Json可能相关:(
JObject.Parse
is Newtonsoft Json.Net)可能重复。看一看谢谢你,有了这个我想我能做点什么。我所需要做的就是进行一些运行时反序列化: