diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 1e3ef1a..2bc7c34 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -517,6 +517,7 @@ namespace AssetStudio { Converters = { new JsonConverterHelper.ByteArrayConverter(), new JsonConverterHelper.PPtrConverter() }, NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals, + PropertyNameCaseInsensitive = true, IncludeFields = true, }; diff --git a/AssetStudio/Classes/Object.cs b/AssetStudio/Classes/Object.cs index 6da762e..9ee228b 100644 --- a/AssetStudio/Classes/Object.cs +++ b/AssetStudio/Classes/Object.cs @@ -1,6 +1,7 @@ using System.Collections.Specialized; using System.Text.Encodings.Web; using System.Text.Json; +using System.Text.Json.Nodes; using System.Text.Json.Serialization; namespace AssetStudio @@ -32,6 +33,7 @@ namespace AssetStudio Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals, ReferenceHandler = ReferenceHandler.IgnoreCycles, + PropertyNameCaseInsensitive = true, IncludeFields = true, WriteIndented = true, }; @@ -63,7 +65,8 @@ namespace AssetStudio string str = null; try { - str = JsonSerializer.Serialize(this, GetType(), jsonOptions).Replace(" ", " "); + str = JsonSerializer.Deserialize(JsonSerializer.SerializeToUtf8Bytes(this, GetType(), jsonOptions)) + .ToJsonString(jsonOptions).Replace(" ", " "); } catch { diff --git a/AssetStudio/JsonConverterHelpers/FloatConverter.cs b/AssetStudio/JsonConverterHelpers/FloatConverter.cs index 8c195b2..6a8dcfd 100644 --- a/AssetStudio/JsonConverterHelpers/FloatConverter.cs +++ b/AssetStudio/JsonConverterHelpers/FloatConverter.cs @@ -32,7 +32,7 @@ namespace AssetStudio } else { - writer.WriteNumberValue((decimal)value); + writer.WriteNumberValue((decimal)value + 0.0m); } } } diff --git a/AssetStudio/JsonConverterHelpers/PPtrConverter.cs b/AssetStudio/JsonConverterHelpers/PPtrConverter.cs index cc74010..9cfadc4 100644 --- a/AssetStudio/JsonConverterHelpers/PPtrConverter.cs +++ b/AssetStudio/JsonConverterHelpers/PPtrConverter.cs @@ -45,7 +45,7 @@ namespace AssetStudio public override void Write(Utf8JsonWriter writer, PPtr value, JsonSerializerOptions options) { - JsonSerializer.Serialize(value); + throw new NotImplementedException(); } } } diff --git a/AssetStudio/JsonConverterHelpers/RenderDataMapConverter.cs b/AssetStudio/JsonConverterHelpers/RenderDataMapConverter.cs index 8f24531..594a533 100644 --- a/AssetStudio/JsonConverterHelpers/RenderDataMapConverter.cs +++ b/AssetStudio/JsonConverterHelpers/RenderDataMapConverter.cs @@ -32,17 +32,17 @@ namespace AssetStudio var strKey = $"{kv.Key.Key}, {kv.Key.Value}"; jsonDict.Add(strKey, kv.Value); } - var strValue = JsonSerializer.Serialize(jsonDict, options).Replace(" ", " "); + var strValue = JsonSerializer.SerializeToUtf8Bytes(jsonDict, options); writer.WriteRawValue(strValue); } } private class GUID { - [JsonPropertyName("data[0]")] public uint data0; - [JsonPropertyName("data[1]")] public uint data1; - [JsonPropertyName("data[2]")] public uint data2; - [JsonPropertyName("data[3]")] public uint data3; + [JsonPropertyName("data[0]")] public uint data0 { get; set; } + [JsonPropertyName("data[1]")] public uint data1 { get; set; } + [JsonPropertyName("data[2]")] public uint data2 { get; set; } + [JsonPropertyName("data[3]")] public uint data3 { get; set; } public Guid Convert() {