|
@@ -3,6 +3,7 @@ using System.Buffers;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
using System.Text;
|
|
|
+using System.Text.Encodings.Web;
|
|
|
using System.Text.Json;
|
|
|
|
|
|
namespace TEAMModelOS.SDK.Extension
|
|
@@ -12,7 +13,7 @@ namespace TEAMModelOS.SDK.Extension
|
|
|
public static string ToJsonString(this JsonDocument jdoc)
|
|
|
{
|
|
|
var bufferWriter = new ArrayBufferWriter<byte>();
|
|
|
- using var writer = new Utf8JsonWriter(bufferWriter, new JsonWriterOptions { Indented = true });
|
|
|
+ using var writer = new Utf8JsonWriter(bufferWriter, new JsonWriterOptions { Indented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping });
|
|
|
jdoc.WriteTo(writer);
|
|
|
writer.Flush();
|
|
|
return Encoding.UTF8.GetString(bufferWriter.WrittenSpan);
|
|
@@ -21,7 +22,7 @@ namespace TEAMModelOS.SDK.Extension
|
|
|
public static string ToJsonString(this JsonElement jelement)
|
|
|
{
|
|
|
var bufferWriter = new ArrayBufferWriter<byte>();
|
|
|
- using var writer = new Utf8JsonWriter(bufferWriter, new JsonWriterOptions { Indented = true });
|
|
|
+ using var writer = new Utf8JsonWriter(bufferWriter, new JsonWriterOptions { Indented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping });
|
|
|
jelement.WriteTo(writer);
|
|
|
writer.Flush();
|
|
|
return Encoding.UTF8.GetString(bufferWriter.WrittenSpan);
|
|
@@ -48,11 +49,25 @@ namespace TEAMModelOS.SDK.Extension
|
|
|
|
|
|
public static T ToObject<T>(this JsonDocument jdoc, JsonSerializerOptions options = null)
|
|
|
{
|
|
|
+ if (options == null)
|
|
|
+ {
|
|
|
+ options = new System.Text.Json.JsonSerializerOptions
|
|
|
+ {
|
|
|
+ Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
|
|
|
+ };
|
|
|
+ }
|
|
|
return jdoc.RootElement.ToObject<T>(options);
|
|
|
}
|
|
|
|
|
|
public static T ToObject<T>(this JsonElement jelement, JsonSerializerOptions options = null)
|
|
|
{
|
|
|
+ if (options == null)
|
|
|
+ {
|
|
|
+ options = new System.Text.Json.JsonSerializerOptions
|
|
|
+ {
|
|
|
+ Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
|
|
|
+ };
|
|
|
+ }
|
|
|
var bufferWriter = new ArrayBufferWriter<byte>();
|
|
|
using var writer = new Utf8JsonWriter(bufferWriter);
|
|
|
jelement.WriteTo(writer);
|