2012-01-07 205 views

回答

7

如果您想验证JSON,在服务器端或客户端。 假设你想这样做,在服务器端,尝试反序列化JSON字符串。如果它打破了,那么它不是一个有效的json。如果您使用的是JSON.net软件使用JavaScriptSerializer用于反序列化目的

var serializer = new JavaScriptSerializer(); 
var result = serializer.Deserialize<Dictionary<string, object>>(json); 
1

,你可以做的完全一样阿南德说。简单地反序列化JSON字符串,如果它发生中断或出错,那么它不是有效的JSON结构。现在,如果你想这样做http://jsonlint.com/那么你可能达到超出了我们可以帮助您与在论坛上的范围。如果你想检查是否出现了错误与否,只需使用在C#中下面的代码,结果是JSON字符串:

var root = JsonConvert.DeserializeObject<RootObject>(result); 

您希望从JSON字符串反序列化信息,就必须有一个类RootObject类似于:

public class RootObject 
{ 
    // You would need to create items here to store each of the objects' information in the JSON file. 
    // For example: 
    public string itemName { get; set; } 
    public int itemID { get; set; } 
} 

现在,假设您知道应该在JSON文件中的信息。否则,这本身就是一个完整的程序。

+1

这将是有趣的,知道什么样的“断裂或错误”的定义在这儿。我注意到,对于JsonConvert.DeserializeObject的XML文档()不说什么异常,如果有的话要么抛出... – PandaWood 2014-05-20 06:10:23