blob: 9aba53bf52bd7ee36aa114e785c55b014de844b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
using System;
using Newtonsoft.Json.Linq;
namespace StardewModdingAPI.Toolkit.Serialization
{
/// <summary>Provides extension methods for parsing JSON.</summary>
public static class JsonExtensions
{
/// <summary>Get a JSON field value from a case-insensitive field name. This will check for an exact match first, then search without case sensitivity.</summary>
/// <typeparam name="T">The value type.</typeparam>
/// <param name="obj">The JSON object to search.</param>
/// <param name="fieldName">The field name.</param>
public static T ValueIgnoreCase<T>(this JObject obj, string fieldName)
{
JToken token = obj.GetValue(fieldName, StringComparison.InvariantCultureIgnoreCase);
return token != null
? token.Value<T>()
: default(T);
}
}
}
|