2015-01-09 4 views
0

У меня есть база данных SQL-сервера, в которой я пытаюсь сохранить строки JSON как NVARCHAR (MAX). Я построить объект вроде этого:Разбор строки JSON в jquery

var dataObject = new Object(); 
dataObject.text = []; 
dataObject.option = []; 
dataObject.answers = []; 

Я заполняю эти массивы со строками и объектами, и я использую JSON.stringify (DataObject), чтобы получить строку JSON, как это:

{"text":["Testno besedilo"],"option":["0"],"answers":[[{"text":"prvi","correct":1},{"text":"drugi","correct":0}]]} 

Когда я извлечь строка из базы данных выглядит следующим образом:

"{"text":["Testno besedilo"],"option":["0"],"answers":[[{"text":"prvi","correct":1},{"text":"drugi","correct":0}]]}" 

Я не могу разобрать его с parseJSON(), я должен делать что-то неправильно по пути, я не уверен, что. Первая строка выглядит как правильный JSON. Любая помощь приветствуется?

Edit:

My MVC Модель:

public class CustomModels : DbContext 
{ 

    public CustomModels() 
     : base("DefaultConnection") 
    { 
    } 

    public DbSet<Quizzes> Quizzes { get; set; } 

} 

[Table("Quizzes")] 
public class Quizzes 
{ 
    [Key] 
    public int Id { get; set; } 

    [ForeignKey("Services")] 
    public int ServiceID { get; set; } 

    public virtual Services Services { get; set; } 

    public string QuizName { get; set; } 

    public string QuizData { get; set; } 
} 

Действие, с которым я передаю свой идентификатор между видами:

[HttpGet] 
    public ActionResult Edit(int? QuizId) 
    { 
     if (QuizId.HasValue) 
     { 

      CustomModels db = new CustomModels(); 
      var quiz = db.Quizzes.Find(QuizId); 

      ViewData["QuizId"] = quiz; 
     } 

     return View("../EditKviz/Index"); 
    } 
+0

Попробуйте с JSON.parse (DataObject) или $ .parseJSON (DataObject) – user3040610

ответ

0

Можете ли вы описать больше о том, как вы вернуть вам данные вашей базы данных на ваш javascript. Похоже, что вы забыли urlDecode в TEKST, прежде чем дать его вам Javascript как:

Server.UrlDecode("{&quot;text&quot;:[&quot;Testno besedilo&quot;],&quot;option&quot;:[&quot;0&quot;],&quot;answers&quot;:[[{&quot;text&quot;:&quot;prvi&quot;,&quot;correct&quot;:1},{&quot;text&quot;:&quot;drugi&quot;,&quot;correct&quot;:0}]]}"); 
+0

У меня есть приложение MVC.NET, поэтому я имеют модель с DbSet объектов, которые имеют те же данные, что и таблица базы данных. Я передаю идентификатор между представлениями, и я использую идентификатор, чтобы найти объект из DbSet. – zkranc