我需要序列化一串 JSON。但在这个字符串中,它包含我想序列化为字符串的对象。
看看这个 JSON 字符串
{
"action":"applyPromo",
"params":
[
{
"transacId":"M123238831",
"promotionId":16,
"promotionTypeId":1,
"amount":100,
"transacTime":"2021-03-19T12:00:30.045+10:00"
}
]
}
由于动作可以是任何东西,我需要将参数存储为一个字符串,该字符串将在其他地方反序列化。
这是我的课:
public class RequestAction
{
public string action { get; set; }
public string params { get; set; }
public RequestAction()
{
action = params = string.Empty;
}
}
当我尝试使用 JSON (Newtonsoft) 反序列化字符串时,出现以下错误:Unexpected character encountered while parsing value: [. Path 'params', line 1, position 27.'
.
这是我反序列化 JSON 字符串的代码
public static RequestAction Parse(str)
{
return JsonConvert.DeserializeObject<RequestAction>(str);
}
知道如何反序列params
化为字符串吗?
如果我理解正确,您需要该params
属性作为原始字符串。实现此目的的一种方法是使用JToken:
public class RequestAction
{
public string Action { get; set; } = string.Empty;
public JToken Params { get; set; }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句