如何在 C# 中从 Json 对象访问短 URl - Bitly

How to access short URl from Json object in c# - Bitly

我在 Asp.net 项目中使用 Bitly api 来创建短片 Url。我得到结果,但它是 json 格式。如何从中检索短 Url?

[HttpGet("sendNotification/{PlanId}")]
        [ValidateModelState]
        public async Task<IActionResult> SendNotification()
        {
                var link ="https://chats.landbot.io";
                var shortUrl = await GetShortUrl(link);
              
                return NoContent();
            }
            
        }

简短Url 给我以下所有内容

{"created_at":"2021-10-21T04:01:53+0000","id":"bit.ly/shortUrl","link":"LongUrl","archived":false,"tags":[],"deeplinks":[],"references":{"group":"https://api-ssl.bitly.com/v4"}}

在上面的行中,id 包含短 link,这是我唯一需要的 link。 谁能告诉我应该怎么做?

像下面这样创建class

public class Item
 {
    public string created_at;
    public string id;
    public string link;
  }

然后在您的方法中使用 newtonsoft json 读取 json 字符串,如下代码所示 在项目中,您将获得值。

Item items = JsonConvert.DeserializeObject<Item>(json);

1.JObject:

{{"created_at":"2021-10-21T04:01:53+0000","id":"bit.ly/shortUrl","link":"LongUrl","archived":false,"tags":[],"deeplinks":[],"references":{"group":"https://api-ssl.bitly.com/v4"}}}

如果你想从 JObject 中得到id,你可以使用:

var id=jObject["id"].Tostring;

2.json 字符串:

{\"created_at\":\"2021-10-21T04:01:53+0000\",\"id\":\"bit.ly/shortUrl\",\"link\":\"LongUrl\",\"archived\":false,\"tags\":[],\"deeplinks\":[],\"references\":{\"group\":\"https://api-ssl.bitly.com/v4\"}}

如果你想从json字符串中得到id,你可以使用:

var id=JObject.Parse(jsonString)["id"].Tostring;