小编con*_*riq的帖子

JsonConvert.SerializeObject:序列化空值时出现意外结果

在下面的代码行中,string xclInitializer.AVOptions = null值为:时,我最终成为实际字符串"null" :

string x = JsonConvert.SerializeObject(clInitializer.AVOptions, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore});
Run Code Online (Sandbox Code Playgroud)

如实际的单词"null"而不是null值或者也许{}.我不确定这是预期的行为.有谁知道如何让它不返回"null"这个词,或者我对如何JsonConvert运作有一些根本的误解.先感谢您.

c# null json json.net null-string

6
推荐指数
1
解决办法
7430
查看次数

json 字符串的部分序列化:仅采用 JSON.NET 的顶级

请为我澄清一些困惑:我有一个 JSON 字符串,我试图将它粘贴到一个对象中,但我只想接收顶层,并将下面的所有内容视为 blob 或字符串。像这样的东西。

这是我的模型:

public class InputJson
{
    [JsonProperty(PropertyName = "signals")]
    public string signals{ get; set; }
    [JsonProperty(PropertyName = "options")]
    public string options { get; set; }
    [JsonProperty(PropertyName = "fields")]
    public string fields{ get; set; }
    [JsonProperty(PropertyName = "lapse")]
    public string lapse{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将 JSON 字符串(见下文)反序列化,如下所示:

InputJson a = JsonConvert.DeserializeObject<InputJson>(body);
Run Code Online (Sandbox Code Playgroud)

我希望这 a.signals会返回一个字符串,所有内容都在“信号”下方和“选项”之前,但它失败了,因为它试图继续并序列化其下方的所有内容。我得到一个JsonReaderException

读取字符串时出错。意外标记:StartArray。路径“信号”,第 1 行,位置 12。

我尝试玩弄JsonSerializerSettings(例如将 maxDepth 设置为 1),但没有任何帮助。任何人?

我的 JSON 字符串:

{
    "signals":
    [
        {
            "name":"1",
            "att1":"44",
            "att2":"0", …
Run Code Online (Sandbox Code Playgroud)

c# serialization json json.net

5
推荐指数
1
解决办法
4170
查看次数

标签 统计

c# ×2

json ×2

json.net ×2

null ×1

null-string ×1

serialization ×1