相关疑难解决方法(0)

Windows中打开文件的数量是否有限制

我在VC++中用fopen()打开了很多文件,但过了一段时间它就失败了.

您可以同时打开的文件数量是否有限制?

c++ windows

41
推荐指数
4
解决办法
6万
查看次数

拆分大型 JSON 文件的策略

我正在尝试将给定数组的非常大的 JSON 文件拆分为较小的文件。例如:

{
    "headerName1": "headerVal1",
    "headerName2": "headerVal2",
    "headerName3": [{
        "element1Name1": "element1Value1"
    },
    {
        "element2Name1": "element2Value1"
    },
    {
        "element3Name1": "element3Value1"
    },
    {
        "element4Name1": "element4Value1"
    },
    {
        "element5Name1": "element5Value1"
    },
    {
        "element6Name1": "element6Value1"
    }]
}
Run Code Online (Sandbox Code Playgroud)

...向下到 { "elementNName1": "elementNValue1" } 其中 N 是一个很大的数字

用户提供代表要拆分的数组的名称(在本例中为“headerName3”)以及每个文件的数组对象数量,例如 1,000,000

这将导致 N 个文件,每个文件中包含顶级名称:值对 (headerName1, headerName3) 以及最多 1,000,000 个 headerName3 对象。

我正在使用优秀的 Newtonsof JSON.net 并了解我需要使用流来完成此操作。

到目前为止,我已经查看了 JToken 对象中的读取,以确定读取令牌时 PropertyName == "headerName3" 发生的位置,但我想做的是读取数组中每个对象的整个 JSON 对象,而不是读取继续将 JSON 解析为 JToken;

这是我迄今为止正在构建的代码片段:

        using (StreamReader oSR = File.OpenText(strInput))
        {
            using (var reader …
Run Code Online (Sandbox Code Playgroud)

c# json stream json.net

2
推荐指数
1
解决办法
7941
查看次数

标签 统计

c# ×1

c++ ×1

json ×1

json.net ×1

stream ×1

windows ×1