加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何构建匿名类型,从变量中取名?

发布时间:2020-12-16 01:27:40 所属栏目:百科 来源:网络整理
导读:我想创建一个自定义的 JSON字符串,如下所示: {"service1":"hello"} (我简化了示例.实际上,所需的JSON更复杂. 但要解释这个问题,这个例子很好) 我的问题是服务名称“service1”包含在变量中 这是我的代码: using Newtonsoft.Json.Linq;using Newtonsoft.Jso
我想创建一个自定义的 JSON字符串,如下所示:

{"service1":"hello"}

(我简化了示例.实际上,所需的JSON更复杂.
但要解释这个问题,这个例子很好)

我的问题是服务名称“service1”包含在变量中
这是我的代码:

using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Schema;
using Newtonsoft.Json;

    public static string CreateCustomJSON(string serviceName,object value)
    {
        var v = new { serviceName = value };
        string json = JsonConvert.SerializeObject(v);
        Console.WriteLine(json);
        return json;
    }

CreateCustomJSON("service1","hello");
CreateCustomJSON("service2","John");
CreateCustomJSON("service3",13);

我得到了这个结果:

{"serviceName":"hello"}
{"serviceName":"John"}
{"serviceName":13}

因为我不知道如何正确使用匿名类型

错误在这一行:

var v = new { serviceName = value };

或许还有另一种方法可以遵循,
构建一个自定义的json字符串

你能帮助我吗?

解决方法

使用字典< string,string>为了这.毕竟Json对象是字典. Try it online!

public static string CreateCustomJSON(string serviceName,string value)
{
    var v = new Dictionary<string,string> {{serviceName,value}};
    string json = JsonConvert.SerializeObject(v);
    Console.WriteLine(json);
    return json;
}

public static void Main()
{
    CreateCustomJSON("service1","hello");
    CreateCustomJSON("service2","John");
}

输出:

{"service1":"hello"}
{"service2":"John"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读