C# 在C中序列化JSON的include#
我已经尝试了无数次的迭代来让它工作。我正在尝试序列化一个包含include的请求。字符串“param”是一个变量。请求如下所示: {“json rpc”:“2.0”,“方法”:“getThings”,“params”:{“guId”:“All”},“id”:1,“version”:“1.0”} 嵌套guId部分让我感到困惑。这是在.NET3.5cf中,因此是Newtonsoft的用法 这是我能得到的最接近的结果:C# 在C中序列化JSON的include#,c#,json,C#,Json,我已经尝试了无数次的迭代来让它工作。我正在尝试序列化一个包含include的请求。字符串“param”是一个变量。请求如下所示: {“json rpc”:“2.0”,“方法”:“getThings”,“params”:{“guId”:“All”},“id”:1,“version”:“1.0”} 嵌套guId部分让我感到困惑。这是在.NET3.5cf中,因此是Newtonsoft的用法 这是我能得到的最接近的结果: using Newtonsoft.Json BuildRequest jRequ
using Newtonsoft.Json
BuildRequest jRequest = new BuildRequest
{
JsonRpc = "2.0",
Method = "getThings",
Params = param,
Id = 1,
Version = "1.0",
};
var httpRequest = JsonConvert.SerializeObject(jRequest, Formatting.Indented);
private class ParamsP
{
[JsonProperty("guId")]
public string GroupId { get; set; }
}
private class BuildRequest
{
[JsonProperty("json-rpc")]
public string JsonRpc { get; set; }
[JsonProperty("method")]
public string Method { get; set; }
[JsonProperty("params")]
public ParamsP Params { get; set; }
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("version")]
public string Version { get; set; }
}
我越来越
无法将字符串隐式转换为ParamsP
因此,我能够使用.NET 3.5 CF在控制台项目中实现这一点。我觉得您可能在其他地方遗漏了一些东西,或者我对创建类型为
BuildRequest
的对象以及名为类型BuildGetPlayers
的类的问题感到困惑
public class Process
{
private class ParamsP
{
[JsonProperty("guId")]
public string GroupId { get; set; }
}
private class BuildGetPlayers
{
[JsonProperty("json-rpc")]
public string JsonRpc { get; set; }
[JsonProperty("method")]
public string Method { get; set; }
[JsonProperty("params")]
public ParamsP Params { get; set; }
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("version")]
public string Version { get; set; }
}
BuildGetPlayers jRequest = new BuildGetPlayers
{
JsonRpc = "2.0",
Method = "getThings",
Params = new ParamsP
{
GroupId = "something"
},
Id = 1,
Version = "1.0",
};
public string Get()
{
var httpRequest = JsonConvert.SerializeObject(jRequest, Formatting.Indented);
return httpRequest;
/* returns {
"json-rpc": "2.0",
"method": "getThings",
"params": {
"guId": "something"
},
"id": 1,
"version": "1.0"
}
*/
}
}
非常感谢。这是我一直在寻找,并已验证它的工作符合我的需要!BuildRewest/BuilGetPlayers的问题是我的一个输入错误。我已将示例代码编辑为正确的(以防其他人有类似问题)。