小编Tim*_*Tim的帖子

Json.NET - CustomCreationConverter中单个属性的默认反序列化行为

在下面的场景中,CrazyItemConverter当遇到我反序列化的类型中存在的JSON属性时,如何像往常一样继续?

我有一些看起来像这样的JSON:

{
    "Item":{
        "Name":"Apple",
        "Id":null,
        "Size":5,
        "Quality":2
    }
}
Run Code Online (Sandbox Code Playgroud)

JSON被反序列化为一个看起来像这样的类:

[JsonConverter(typeof(CrazyItemConverter))]
public class Item
{
    [JsonConverter(typeof(CrazyStringConverter))]
    public string Name { get; set; }

    public Guid? Id { get; set; }

    [JsonIgnore]
    public Dictionary<string, object> CustomFields
    {
        get
        {
            if (_customFields == null)
                _customFields = new Dictionary<string, object>();
            return _customFields;
        }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

CrazyItemConverter填充已知属性的值,并将未知属性放在CustomFields中.在ReadJson它看起来是这样的:

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
    var outputObject = Create(objectType);
    var objProps = objectType.GetProperties().Select(p …
Run Code Online (Sandbox Code Playgroud)

c# json json.net deserialization

10
推荐指数
1
解决办法
5493
查看次数

输出html标签

我想用echo,html标签输出.首先代码是这样的:

$image = '[img]'."image_url".'[/img]<BR>';
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为输出是:

*[IMG] IMAGE_URL [/ IMG]*

然后闯入新的界限.

然后我找到了解决方案:

$image = '[img]'."image_url".'[/img]&ltBR&gt';
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么单引号不按字面意思输出字符串,因为我认为它们会,并且还有其他任何方式,所以我不必写所有这些&lt&gt

html php escaping

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

标签 统计

c# ×1

deserialization ×1

escaping ×1

html ×1

json ×1

json.net ×1

php ×1