Вы можете создать строку JSON, которую может анализировать jQuery.each (arg, function (i, val) {})? - PullRequest
0 голосов
/ 11 июля 2011

У меня есть класс C #, который я хочу преобразовать в строку JSON, отправить его моему веб-клиенту и с помощью jQuery разобрать его в массив объектов JSON. Это возможно?

вот пример кода

    class mnuitm  
    {  
       public string prop1;  
       public string prop2;  
       public List<mnuitm> children;  
    }  

I am trying to build a string that looks like this:  
    {  
      "prop1":"value in prop1",  
      "prop2":"value in prop2",  
      "children":[  
          {  
          "prop1":"value in prop1",  
          "prop2":"value in prop2"  
          },  
          {  
          "prop1":"value in prop1",  
          "prop2":"value in prop2"  
          }  
        ]  
    }, ... (repeat n times, children may not be there or have any number of child items  

    }  //closing bracket

мой клиент делает ajax-вызов, который возвращает вышеуказанное в виде строки и я пытаюсь разобрать его с помощью jQuery, но он не работает.

Возможно ли это. Если нет, то как мне это сделать

Thx

Ответы [ 3 ]

0 голосов
/ 11 июля 2011

Использование JavascriptSerializer

Или JSON.Net

0 голосов
/ 11 июля 2011

Использование jQuery.getJSON()

http://api.jquery.com/jQuery.getJSON/

Кроме того, вы можете просто сделать JSON.parse(str) в браузерах, которые его поддерживают (я точно знаю Chrome / FF4). Для лучшей кросс-браузерной поддержки используйте jQuery.parseJSON().

http://api.jquery.com/jQuery.parseJSON/

0 голосов
/ 11 июля 2011

на самом деле, если ваша веб-служба / веб-страница просто возвращает чанк javascript, тогда пользователь может просто извлечь этот чанк и использовать его как объект без какого-либо преобразования.

это потому, что json является родным для javascript и , вы можете просто назвать его как показано ниже :

 var obj = {  
      "prop1":"value in prop1",  
      "prop2":"value in prop2",  
      "children":[  
          {  
          "prop1":"value in prop1",  
          "prop2":"value in prop2"  
          },  
          {  
          "prop1":"value in prop1",  
          "prop2":"value in prop2"  
          }  
        ]  
    };
alert(obj.prop1);
alert(obj.children[0].prop1);

или вы пытаетесь преобразовать это в другой класс / тип объекта в javascript? затем вы можете разобрать и преобразовать его соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...