using System; using Newtonsoft.Json.Linq; namespace StardewModdingAPI.Toolkit.Serialization { /// Provides extension methods for parsing JSON. public static class JsonExtensions { /// Get a JSON field value from a case-insensitive field name. This will check for an exact match first, then search without case sensitivity. /// The value type. /// The JSON object to search. /// The field name. public static T ValueIgnoreCase(this JObject obj, string fieldName) { JToken token = obj.GetValue(fieldName, StringComparison.InvariantCultureIgnoreCase); return token != null ? token.Value() : default(T); } } }