你能创建一个jQuery字符串,jQuery.each(arg,function(i,val){}可以解析吗?

时间:2011-07-11 00:44:14

标签: c# jquery json

我有一个C#类,我想将其转换为JSON字符串,将其发送到我的Web客户端并使用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 :(得分:0)

实际上,如果您的Web服务/网页只返回javascript块,那么用户只需检索该块并像对象一样使用它而不进行任何转换。

这是因为json是javascript原生的you can just call it like below

 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中的其他类/对象类型? 然后你可以解析它并相应地转换它。

答案 1 :(得分:0)

答案 2 :(得分:0)

使用jQuery.getJSON()

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

或者,您可以在支持它的浏览器中执行JSON.parse(str)(我确实知道Chrome / FF4)。要获得更好的跨浏览器支持,请使用jQuery.parseJSON()

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