检查 JSON 和 XML 是不是有效? C#
Posted
技术标签:
【中文标题】检查 JSON 和 XML 是不是有效? C#【英文标题】:Check JSON and XML is valid? c#检查 JSON 和 XML 是否有效? C# 【发布时间】:2012-02-04 17:19:35 【问题描述】:我正在使用 newtonsoft json.net http://json.codeplex.com/ 我想知道...
如何验证 json 和 xml 是否有效 json/xml。
如何验证?
【问题讨论】:
对于 JSON,请参阅 How to make sure that string is Valid JSON using JSON.NET 【参考方案1】:您要在服务器端或客户端验证 json 的位置。 假设您想在服务器端执行此操作,请尝试反序列化 json 字符串。如果它坏了,那么它不是一个有效的 json。使用 javascriptSerializer 进行反序列化
var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<Dictionary<string, object>>(json);
【讨论】:
【参考方案2】:如果您使用的是 JSON.net 软件,您可以完全按照 Anand 的说明进行操作。只需反序列化 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 文件中应该包含的信息。否则,这本身就是一个完整的程序。
【讨论】:
在这里了解“中断或错误”的定义会很有趣。我注意到 JsonConvert.DeserializeObject() 的 XML 文档没有说明如果有的话会引发什么异常......以上是关于检查 JSON 和 XML 是不是有效? C#的主要内容,如果未能解决你的问题,请参考以下文章