【问题标题】:How to cast a JSON to a string如何将 JSON 转换为字符串
【发布时间】:2019-08-16 09:25:24
【问题描述】:

我有一个接收相当简单 JSON 的 Post 方法:

{ “第一”:“约翰”, “最后”:“史密斯” }

但我需要它作为字符串。

我尝试将 JSON 转换为字符串,但结果为空。

   public void Post([FromBody]string jsonData)
    {
       ...
    }

我想使用 jsonData 作为字符串。我试图避免创建一个字段名称与 JSON 匹配的类,因为这意味着每次添加字段时都会更改 API。我只需要在一开始就将 JSON 作为字符串接收。有没有办法在不使用变量名的情况下在端点进行转换?

【问题讨论】:

  • 这是 .net 核心还是其他什么?
  • 这个字符串到底包含什么? (给定您的示例 json)
  • 它是核心。该字符串将包含字符串格式的 JSON。我可以序列化和反序列化等的东西。
  • 如果请求的一方是javascript,添加=并将json对象字符串化
  • 它作为 API 调用从外部来源进来。

标签: c# json asp.net-core


【解决方案1】:

只需使用 JToken 作为参数。

[HttpPost]
public void PostMethod([FromBody] JToken json)
{
    var jsonAsString = json.ToString();

}

【讨论】:

    【解决方案2】:

    你试过吗?

    JObject json = JObject.Parse(str);
    

    您可能想参考 Json.NET documentation

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2016-12-06
      • 2020-05-08
      相关资源
      最近更新 更多