Мне нужно сохранить неизвестную структуру данных в поле таблицы базы данных SQL Server через ORMLite. Это должно поддерживать функцию временной шкалы на веб-сайте, где каждый шаг на временной шкале содержит различную информацию, и я хочу сохранить их как общие «Шаги» с переменными данными в свойстве «StepData». У меня есть ПОКО настроить так:Анонимный объект blob в базе данных не сериализуется как JSON при запросе
public class ItemStep
{
public ItemStep()
{
this.Complete = false;
}
[Alias("ItemStepId")]
public Guid Id { get; set; }
[References(typeof(Item))]
public Guid ItemId { get; set; }
[References(typeof(Step))]
public int StepId { get; set; }
public object StepData { get; set; }
[Reference]
public Step Step { get; set; }
public bool Complete { get; set; }
public DateTime? CompletedOn { get; set; }
}
Мой передний конец отправить объект JSON для StepData, и она сохраняется в базе данных соответствующим образом.
{itemAmount:1000,isRed:False,isBlue:True,conversion:True}
Теперь, когда я иду, чтобы получить эти данные, используя ...
List<ItemStep> itemSteps = Db.Select<ItemStep>(q => q.ItemId == request.ItemId).OrderByDescending(q => q.StepId).ToList<ItemStep>();
... «StepData» узел ответа JSON на стороне клиента не является объектом Javascript массива, как я ожидаю. Таким образом, на (приложение AngularJS с помощью CoffeeScript) клиента,
ItemStep.getItemSteps(ItemId).then((response) ->
$scope.StepData = response.data.itemSteps[0].stepData
является двойной кавычки строка из массива JSON.
"{itemAmount:1000,isRed:False,isBlue:True,conversion:True}"
Может ли кто-нибудь помочь мне с этим? Я попытался разбор этой строки как JSON, и я не могу заставить его работать:
JSON.parse($scope.StepData)
Я использую ту же самую методику в других областях приложения, чтобы хранить и извлекать такие вещи, как адреса, с той лишь разницей, что я вижу, что существует определенный класс Address.
Спасибо!