Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
JsonReader.cs
浏览该文件的文档.
1using System.Text.Json;
2
3namespace Game.IContentReader {
5 public override string Type => "System.Text.Json.Nodes.JsonArray";
6 public override string[] DefaultSuffix => ["json"];
7
8 public override object Get(ContentInfo[] contents) {
9 JsonElement element = JsonDocument.Parse(new StreamReader(contents[0].Duplicate()).ReadToEnd(), JsonDocumentReader.DefaultJsonOptions).RootElement;
10 return element.ValueKind == JsonValueKind.Array ? element : throw new InvalidDataException($"{contents[0].Filename}is not Json array");
11 }
12 }
13
15 public override string Type => "Game.JsonModel";
16 public override string[] DefaultSuffix => ["json"];
17 public override object Get(ContentInfo[] contents) => Game.JsonModelReader.Load(contents[0].Duplicate());
18 }
19
21 public override string Type => "System.Text.Json.Nodes.JsonObject";
22 public override string[] DefaultSuffix => ["json"];
23
24 public override object Get(ContentInfo[] contents) {
25 JsonElement element = JsonDocument.Parse(new StreamReader(contents[0].Duplicate()).ReadToEnd(), JsonDocumentReader.DefaultJsonOptions).RootElement;
26 return element.ValueKind == JsonValueKind.Object ? element : throw new InvalidDataException($"{contents[0].Filename}is not Json object");
27 }
28 }
29
31 public static readonly JsonDocumentOptions DefaultJsonOptions = new JsonDocumentOptions {
32 AllowTrailingCommas = true,
33 CommentHandling = JsonCommentHandling.Skip
34 };
35 public override string Type => "System.Text.Json.JsonDocument";
36 public override string[] DefaultSuffix => ["json"];
37 public override object Get(ContentInfo[] contents) => JsonDocument.Parse(new StreamReader(contents[0].Duplicate()).ReadToEnd(), DefaultJsonOptions);
38 }
39}
override object Get(ContentInfo[] contents)
override object Get(ContentInfo[] contents)
static readonly JsonDocumentOptions DefaultJsonOptions
override object Get(ContentInfo[] contents)
override object Get(ContentInfo[] contents)
static JsonModel Load(Stream stream)