2

我正在尝试使用 RestSharp 读取一些 json 数据。

但是我在读取 json 对象时遇到了一些问题。我有这个回应:

expand: "html",
self: "<url>/INCIDENT-447",   
key: "INCIDENT-447",
fields: {
  customfield_11414: {
  name: "Corrective Measures",
  type: "com.atlassian.jira.plugin.system.customfieldtypes:textarea"
},
  summary: {
  name: "summary",
  type: "java.lang.String",
  value: "BLA BLA BLA"
},  

我需要用 Property 的summery 和 customfield_11414 创建一个对象,但我只需要它们的值。不是整个 JSON 对象

4

2 回答 2

10

您可以一起使用Json.Netdynamic关键字

dynamic dynObj = JsonConvert.DeserializeObject(json);
Console.WriteLine(dynObj.fields.customfield_11414.name + " " + 
                  dynObj.fields.summary.value);
于 2012-04-13T06:35:38.390 回答
1

你有几个选择。一种是不要尝试反序列化所有内容,而只是让 JSON 可用于 LINQ/XPATH 样式搜索。这是使用Json.NET

var json = " ... "; // your json here
var o = JObject.Parse(json);
var summary = o["summary"];
var customfield_11414 = o.SelectToken("customfield_11414");

这些将所有内容都返回为JToken,您可以根据需要对其进行转换或进一步解析。

于 2012-04-13T06:20:08.693 回答