我想创建一个自定义的 JSON字符串,如下所示: {"service1":"hello"} (我简化了示例.实际上,所需的JSON更复杂. 但要解释这个问题,这个例子很好) 我的问题是服务名称“service1”包含在变量中
{"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"}