解析 JSON 数据并读取其属性值

Utp*_*pal 1 .net c# json.net

我想动态解析一个 JSON 数据并读取它的键和它们的值,而不是在一个具体的类中将它序列化,因为 JSON 数据可能会不时不同。但是对于最初的测试,一个样本数据是这样的。在此数据中,我想获取属性值,如果 JSON 数据也包含复杂的结构,我还想读取子属性值如何在 C# 中执行此操作。

{"id":4877891717,"email":"rvp@insync.com","accepts_marketing":true,"created_at":"2017-03-24T08:39:56+01:00","updated_at":"2017-04-10T09:40:42+02:00","first_name":"Robin","last_name":"Van Persie","orders_count":8,"state":"disabled","total_spent":"2320.00","last_order_id":4434634693,"note":"","verified_email":true,"multipass_identifier":null,"tax_exempt":true,"phone":"+3225551212","tags":"","last_order_name":"#1116","addresses":[{"id":5143111941,"first_name":"Robin","last_name":"Van Persie","company":"InSync","address1":"CB 28, El Solo Road","address2":"CB 28, El Solo Road","city":"Brussels","province":"EU","country":"Belgium","zip":"123456","phone":"12345678","name":"Robin Van Persie","province_code":null,"country_code":"BE","country_name":"Belgium","default":true}],"default_address":{"id":5143111941,"first_name":"Robin","last_name":"Van Persie","company":"InSync","address1":"CB 28, El Solo Road","address2":"CB 28, El Solo Road","city":"Brussels","province":"EU","country":"Belgium","zip":"123456","phone":"12345678","name":"Robin Van Persie","province_code":null,"country_code":"BE","country_name":"Belgium","default":true}}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这种方式。但是在 geiing tiken 之后我会做什么。

 foreach (JObject token in jObject.Children())
            {}
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 5

您可以使用 NewtonsoftJson 库进行解析,而无需创建具体类

dynamic parseJson = JsonConvert.DeserializeObject("your json");
Run Code Online (Sandbox Code Playgroud)

并使用以下代码获取值,例如...

string Id=parseJson.Id.Value
Run Code Online (Sandbox Code Playgroud)

我已经测试过了,它对我有用