JSON.net Сериализация объекта C # для выпуска JSON - PullRequest
29 голосов
/ 17 февраля 2012

Я пытаюсь сериализовать объект C # в JSON, используя библиотеку JSON.net.У меня проблема в том, что создаваемая строка содержит ".

Ниже приведена строка, возвращаемая через JsonConvert.SerializeObject:

{
    "ComId": "AAAiB+AAHAALOaFAAL",
    "CovId": "AAABC9AAPAAAZYUAAI",
    "EffectiveDate": "\\/Date(1329368400000-0500)\\/",
    "ExpirationDate": "\\/Date(1360990800000-0500)\\/",
    "State": "TX",
    "DeductibleAmount": 500.0,
    "DeductibleType": "PD"
}

Запуск строки через JSONLint возвращает:

Parse error on line 1:
{    "ComId": &
-----^
Expecting 'STRING', '}'

Ниже приведен объект, который я пытаюсь сериализовать в JSON:

public class CommonInfoModel
{
    public virtual string ComId { get; set; }
    public virtual string CovId { get; set; }

    [Display(Name = "Effective Date")]
    public virtual DateTime EffectiveDate { get; set; }

    [Display(Name = "Expiration Date")]
    public virtual DateTime ExpirationDate { get; set; }

    [Display(Name = "State")]
    public virtual string State { get; set; }

    [Display(Name = "Deductible Amount")]
    public virtual decimal DeductibleAmount { get; set; }

    [Display(Name = "Deductible Type")]
    public virtual string DeductibleType { get; set; }
}

Я что-то не так делаю? Я искал, и, похоже, другие используютметод получения более чистых строк! Спасибо за ваше время заранее!

1 Ответ

91 голосов
/ 17 февраля 2012

Ваша строка json кодируется в формате HTML. Поскольку вы визуализируете json в своем представлении, вы можете использовать помощник @Html.Raw(), чтобы предотвратить его кодирование.

var data = { json : "@Html.Raw(JsonConvert.SerializeObject(Model))" };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...