Проверить действительность JSON и XML? c #

Я использую newtonsoft json.net http://json.codeplex.com/, и я хотел бы знать .. .

как проверить правильность json и xml json / xml.

как я могу это проверить?


person 001    schedule 07.01.2012    source источник
comment


Ответы (2)


Где вы хотите проверить json, на стороне сервера или на стороне клиента. Предполагая, что вы хотите сделать это на стороне сервера, попробуйте десериализовать строку json. если он сломается, значит, это недействительный json. Используйте JavaScriptSerializer для десериализации

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<Dictionary<string, object>>(json);
person Anand    schedule 07.01.2012

Если вы используете программное обеспечение JSON.net, вы могли бы сделать именно то, что сказал Ананд. Просто десериализуйте строку 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. В противном случае это целая программа сама по себе.

person th3n3wguy    schedule 07.01.2012
comment
Было бы интересно узнать, какое здесь определение перерывов или ошибок. Я заметил, что XML-документ для JsonConvert.DeserializeObject () не говорит, какое исключение выбрасывается, если оно есть ... - person PandaWood; 20.05.2014