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.OrdinalIgnoreCase);
return token != null
? token.Value()
: default;
}
}
}