Skip to content

Instantly share code, notes, and snippets.

@luisdeol
Created March 29, 2020 13:24
Show Gist options
  • Save luisdeol/59f4f63c116fb7ed840c66daded03fa7 to your computer and use it in GitHub Desktop.
Save luisdeol/59f4f63c116fb7ed840c66daded03fa7 to your computer and use it in GitHub Desktop.
3.1: Validate JSON input
using _31_ValidateAppInput.Models;
using Newtonsoft.Json;
using System;
using System.Web.Script.Serialization;
namespace _31_ValidateAppInput
{
class Program
{
static void Main(string[] args)
{
const string studentJson = "{\"name\": \"luis\", \"age\": 27 }";
const string invalidStudentJson = "\"name\": \"luis\", \"age123\": 27";
// Using JavaScriptSerializer
var javascriptSerializer = new JavaScriptSerializer();
try
{
var studentUsingJavascriptSerializer = javascriptSerializer.Deserialize<Student>(studentJson);
var invalidStudentUsingJavaScriptSerializer = javascriptSerializer.Deserialize<Student>(invalidStudentJson);
} catch (ArgumentException)
{
Console.WriteLine("ArgumentException for JavaScriptSerializer, invalidStudentJson!");
}
// Using Newtonsoft.Json
try
{
var studentUsingNewtonsoft = JsonConvert.DeserializeObject<Student>(studentJson);
var invalidStudentUsingNewtonsoft = JsonConvert.DeserializeObject<Student>(invalidStudentJson);
} catch (JsonSerializationException)
{
Console.WriteLine("JsonSerializationException for Newtonsoft.Json, invalidStudentJson");
}
Console.ReadLine();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment