相关疑难解决方法(0)

使用.NET Core 3.0 / System.text.Json解析JSON文件

我正在尝试使用System.Text.Json.NET Core 3.0中的新JSON阅读器读取和解析无法容纳在内存中的大JSON文件。

Microsoft的示例代码将a ReadOnlySpan<byte>作为输入

    public static void Utf8JsonReaderLoop(ReadOnlySpan<byte> dataUtf8)
    {
        var json = new Utf8JsonReader(dataUtf8, isFinalBlock: true, state: default);

        while (json.Read())
        {
            JsonTokenType tokenType = json.TokenType;
            ReadOnlySpan<byte> valueSpan = json.ValueSpan;
            switch (tokenType)
            {
                case JsonTokenType.StartObject:
                case JsonTokenType.EndObject:
                    break;
                case JsonTokenType.StartArray:
                case JsonTokenType.EndArray:
                    break;
                case JsonTokenType.PropertyName:
                    break;
                case JsonTokenType.String:
                    string valueString = json.GetString();
                    break;
                case JsonTokenType.Number:
                    if (!json.TryGetInt32(out int valueInteger))
                    {
                        throw new FormatException();
                    }
                    break;
                case JsonTokenType.True:
                case JsonTokenType.False:
                    bool valueBool = json.GetBoolean();
                    break;
                case JsonTokenType.Null: …
Run Code Online (Sandbox Code Playgroud)

c# json .net-core-3.0 system.text.json

10
推荐指数
1
解决办法
7480
查看次数

标签 统计

.net-core-3.0 ×1

c# ×1

json ×1

system.text.json ×1