gpt4 book ai didi

通过删除重复的列名优化 JSON 数据

转载 作者:行者123 更新时间:2023-12-05 03:14:56 24 4
gpt4 key购买 nike

我有一个基本的 Json 问题 - 我有一个 JSON 文件。此文件中的每个对象都有重复的列。

[
{
id: 1,
name: "ABCD"
},
{
id: 2,
name: "ABCDE"
},
{
id: 3,
name: "ABCDEF"
}
]

为了优化,我想删除重复的列名。

{
"cols": [
"id",
"name"
],
"rows": [
[
"1",
"ABCD"
],
[
"2",
"ABCDE"
]
]
}

我想了解的是 - 这是更好的方法吗?这种格式有什么缺点吗?说写单元测试?

最佳答案

编辑

第二种情况(在您编辑之后)是有效的 json。您可以使用 json2csharp 将其派生到以下类

public class RootObject
{
public List<string> cols { get; set; }
public List<List<string>> rows { get; set; }
}

关于有效的 json 需要注意的非常重要的一点是,它除了重复列名(或一般的键)来表示 json 中的值之外别无他法。你可以测试你的 json 的有效性,把它放在@jsonlint.com

但是如果你想通过使用像 gzip 这样的压缩库(同样)压缩它来优化 json,那么我会推荐 Json.HPack .

根据这种格式,它有很多压缩级别,从0到4(4最好)。

在压缩级别 0:

您必须从结构中删除键(属性名称),在索引 0 上创建一个包含每个属性名称的 header 。然后你的压缩 json 看起来像:

[
[
"id",
"name"
],
[
1,
"ABCD"
],
[
2,
"ABCDE"
],
[
3,
"ABCDEF"
]
]

通过这种方式,您可以根据需要在任何级别压缩您的 json。但是为了使用任何 json 库,您必须首先将其解压缩为有效的 json,就像您之前提供的具有重复属性名称的库一样。

关于您的资料,您可以看看不同压缩技术之间的比较:

enter image description here

关于通过删除重复的列名优化 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com