【发布时间】:2021-06-02 14:36:36
【问题描述】:
我需要序列化一串 JSON。但在这个字符串中,它包含我想序列化为字符串的对象。
看看这个 JSON 字符串
{
"action":"applyPromo",
"params":
[
{
"transacId":"M123238831",
"promotionId":16,
"promotionTypeId":1,
"amount":100,
"transacTime":"2021-03-19T12:00:30.045+10:00"
}
]
}
由于动作可以是任何东西,我需要将 params 存储为一个字符串,该字符串将在其他地方反序列化。
这是我的课:
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 属性是一个对象数组。将
params属性改为IEnumerable<string>会起作用吗?