小编k.d*_*dog的帖子

无法将 Json 反序列化为类型,无法找到构造函数

我在反序列化发送到 azure 函数的 JSON 时遇到一些问题。首先,我打算将一组密文类型的 post 发送到 azure,反序列化 JSON 以恢复我的数据,然后对该数据进行操作。我的类如下所示,sampleClass它有一个ciphertexttype属性Ciphertext

[DataContract]
public class sampleClass
{
    [DataMember]
    public Ciphertext ciphertext { get; set; }
    [JsonConstructor]
    public sampleClass() { }
} 
Run Code Online (Sandbox Code Playgroud)

这是我尝试序列化/反序列化的类。

为了发布数据,我使用 HttpClient 并将其发布为 JSON,如下所示:

HttpResponseMessage response = await client.PostAsJsonAsync("api/Function1", cipher);
Run Code Online (Sandbox Code Playgroud)

在我的azure函数中,我尝试将Json作为流读取并将其反序列化为sampleClass[],但是这引发了错误。

//Receive data from The Http PostRequest.
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

//De serialises to an object.
sampleClass[] array = JsonConvert.DeserializeObject<sampleClass[]>(requestBody);
Run Code Online (Sandbox Code Playgroud)

抛出的错误如下所示:

执行“Function1”(失败,Id=1be7633e-6b6a-4626-98b7-8fec98eac633)[11/02/2020 15:50:48] System.Private.CoreLib:执行函数时出现异常:Function1。Newtonsoft.Json:无法找到用于 Microsoft.Research.SEAL.Ciphertext 类型的构造函数。类应该具有默认构造函数、带参数的构造函数或标有 JsonConstructor 属性的构造函数。路径“[0].ciphertext.CoeffModCount”,第 1 行,位置 32。

当我尝试反序列化 …

c# json azure json.net seal

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

azure ×1

c# ×1

json ×1

json.net ×1

seal ×1