2011-10-23 52 views
0

我有一个List error我用来传递errorId和错误消息到UI层的实体。解析Json对象

public class ErrorEntity 
    { 
     public int ErrorId 
     { 
      get; 
      set; 
     } 

     public string ErrorMessage 
     { 
      get; 
      set; 
     } 
    } 
} 

我将对象发送给Javascript我将其序列化为JSON。

JSON的,我以后系列化的样子

[{"ErrorId":1,"ErrorMessage":"Test has not been prepared for tag EP105"},{"ErrorId":2,"ErrorMessage":"Test has not been prepared for tag EP105"}] 

越来越现在我需要解析此JSON字符串显示错误信息给用户。请让我知道我该如何解析它。我是否需要编写for循环来遍历它。

编辑在我的母版页,我试图解析它。

function ShowErrorMsg(jsonObject) { 
    for (i = 0; i < jsonObject.Object.length; i++) { //Object is undefined here. 
    alert(jsonObject.Object.ErrorMessage); 
    }   
} 
+1

你使用任何AJAX像基于jQuery库);(JS是从魔鬼) - 而不是使用JS这个 - 你也可以看看this

注意 - 它更好地使用图书馆?一些浏览器具有本地能力来解析json字符串。哪些是你的目标浏览器 – deostroll

回答

2

身高:JSON.parse()(如果可用):

var jsonArray = JSON.parse(serializedString); 
window.alert(jsonArray[0].ErrorMessage); 

回落到eval()否则:

var jsonArray = eval(serializedString); 
window.alert(jsonArray[0].ErrorMessage); 
+0

什么是更好的做法。 eval会安全吗? –

+0

执行此操作的首选方法是使用'JSON.parse()',它只解析JSON使用的Javascript的子集,并且比'eval()'更安全。 –

+0

如果您的浏览器不支持JSON.parse(),您应该使用像jQuery这样的库来实现回退。 – Jamie

0

尝试Json.NET

+0

我想解析它在我的脚本文件。 –

+0

PLZ给更多的信息.​​..你的意思是通过javascript ... – deostroll

0

有支持,在大多数浏览器解析JSON,我建议为此使用jQuery