Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
JsonNodeConverter.cs
Go to the documentation of this file.
3
5
6internal sealed class JsonNodeConverter : JsonConverter<JsonNode>
7{
9
11
13
15
17
19
21
23
25 {
26 if (value == null)
27 {
28 writer.WriteNullValue();
29 }
30 else if (value is JsonValue value2)
31 {
33 }
34 else if (value is JsonObject value3)
35 {
37 }
38 else
39 {
41 }
42 }
43
45 {
46 switch (reader.TokenType)
47 {
48 case JsonTokenType.String:
49 case JsonTokenType.Number:
50 case JsonTokenType.True:
51 case JsonTokenType.False:
52 return ValueConverter.Read(ref reader, typeToConvert, options);
53 case JsonTokenType.StartObject:
55 case JsonTokenType.StartArray:
56 return ArrayConverter.Read(ref reader, typeToConvert, options);
57 default:
58 throw new JsonException();
59 }
60 }
61
63 {
64 return element.ValueKind switch
65 {
66 JsonValueKind.Null => null,
67 JsonValueKind.Object => new JsonObject(element, options),
68 JsonValueKind.Array => new JsonArray(element, options),
70 };
71 }
72}
static JsonNode Create(JsonElement element, JsonNodeOptions? options)
override JsonNode Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
override void Write(Utf8JsonWriter writer, JsonNode value, JsonSerializerOptions options)
override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options)