当前位置: 首页 > 知识库问答 >
问题:

从ServiceNow Rest API访问C#中的JSON键

杨宏儒
2023-03-14
var client = new RestClient("https://mydevInstance.service-now.com/api/now/v1/table/incident?sysparm_limit=1");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Basic myAuthKey");
IRestResponse response = client.Execute(request);

它在RESTSharp中返回的JSON如下所示。

{
    "result": [
        {
            "parent": "",
            "made_sla": "true",
            "caused_by": "",
            "watch_list": "",
            "upon_reject": "cancel",
            "resolved_by": {
                "link": "https://mydevInstance.service-now.com/api/now/v1/table/sys_user/5137153cc611227c000bbd1bd8cd2007",
                "value": "5137153cc611227c000bbd1bd8cd2007"
            },
            "approval_history": "",
            "number": "INC0000060"
        }
    ]
}

如何在result下创建所有键的C#列表或数组?我不能用JSON.NET序列化对象,因为随着时间的推移,可能会添加额外的键。

共有1个答案

韩晋
2023-03-14

您需要获取JSON内容的示例,然后使用我描述的“粘贴特殊”选项创建一个C#类。

然后,可以使用jsonconvert.deserializeObject (在Newtonsoft的nuget包中)在C#对象实例中反序列化web服务响应。

以下是我在JSON对象未改变的情况下生成的C#类:

public class Rootobject
{
    public Result[] result { get; set; }
}

public class Result
{ 
    public string parent { get; set; }
    public string made_sla { get; set; }
    public string caused_by { get; set; }
    public string watch_list { get; set; }
    public string upon_reject { get; set; }
    public Resolved_By resolved_by { get; set; }
    public string approval_history { get; set; }
    public string number { get; set; }
}

public class Resolved_By
{
    public string link { get; set; }
    public string value { get; set; }
}
var json = "t-b-d"; // From Web Service call
Rootobject response = JsonConvert.DeserializeObject<Rootobject>(json);
// use the response object.
var response = JsonConvert.DeserializeObject<Dictionary<string,string>>(json);
 类似资料:
  • 问题内容: 我正在使用jQuery 1.4.2创建ajax应用,并且尝试使用get(),post()和ajax()方法本身。我的php服务返回: 在我的成功回调中,我尝试以json.status和json [0] [0]的身份访问,但它始终返回“ undefined”。我究竟做错了什么? 我已经搜索了好几天了。我该如何访问返回的数据?任何帮助,将不胜感激。 问题答案: 要访问该状态值,您需要: 这

  • 问题内容: 我需要从C ++中的Linux向SQL Server数据库写入一些数据。 我找到了这个 **sqlapi.com** 但是我认为,首先必须安装并运行ODBC驱动程序。 我遵循此adminlife.net/allgemein/mssql-zugriff-unter-debian-etch-mit-unixodbc-und- freetds/或 http://b.gil.megiteam.

  • 首先,如果这已经发布,请道歉。我花了一些时间研究,但还没有找到解决方案。 我的目标是访问vb.net中web请求的各种JSON响应中的数据。我遇到了嵌套响应的问题;例如: 我的课程是这样的: 反序列化JSON: 这似乎工作正常,但是我不知道如何访问< code>href值,在本例中是“https://example.com/test2/”。

  • 过去几天我一直在研究如何做到这一点,但毫无结果。 我有一个JSON文件,其中包含大量JSON对象,如下所示: 我正在尝试访问每个键和值,并将它们写入csv文件。我相信使用<code>json.loads(json.dumps(文件))</code>应该可以正常的json格式工作,但是因为有一个对象数组,我似乎无法访问每个对象。 converter.py: grab_tweets.py: 到目前为止

  • 问题内容: 我试图访问C中的击键。我可以访问字母数字键。如何访问,并重点? 另外,我读过某个地方,有时在控制台中输入文本时,操作系统会掩盖退格键。我想知道用户在哪里按退格键。这与知道何时按下’\ n’并不相同。GNU C.Ubuntu 11。 问题答案: Dietrich Epp在评论中回答:使用 ncurses 库。 您可能会制作一个X11客户端图形应用程序;在这种情况下,请使用图形工具包库,例

  • 本文向大家介绍C++中new的越界访问问题,包括了C++中new的越界访问问题的使用技巧和注意事项,需要的朋友参考一下 今天敲代码的时候发现了一个BUG和大家分享一下,希望大家下次不要犯和我一样的错误。 如果犯了和我一样的错,也能知道自己错在哪里! <(^-^)> 函数如下:(斐波那契数列的实现) 上面的程序有BUG,如果传给函数的参数是0,程序就会因为触发一个断点而崩溃。 单步调试,根据内存窗口