问题标签 [cbor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - 解析 cbor 流
我正在尝试使用 tinyCBOR 解析 CBOR 流。目标是为“映射类型”编写通用解析代码(因为我不知道在 cbor 流中有多少个键以及它们是哪些)但不是为 json,我只想使用“键”获取值,但是为了从键中获取值,我必须知道键。我只是能够通过在函数中传递“ key ”来解析值
但我仍然不清楚。
从 CBOR 流中获取键和值要遵循什么顺序?
例如。以下是我的地图格式数据-
这是来自 cbor.me 链接的二进制格式 -
1.如何从流中获取密钥。喜欢 - 从流中获取 Roll_number 或 AGE?(依次获取键和值也可以)。
2.获取Roll_number值后,如何跳转到下一个元素(“ Age ”)获取“ key ”和“ value ”。
3.如何识别我在“流结束”时到达,现在没有数据??
任何片段代码,如何解析以及需要遵循哪个函数序列。
任何帮助表示赞赏。谢谢!!!
elastic-stack - 在 elasticsearch 摄取插件中使用 CBOR 格式而不是 JSON
在 Elasticsearch 的 Ingest Attachment Processor Plugin 的文档中提到,“如果不想产生 base64 之间来回转换的开销,可以使用 CBOR 格式而不是 JSON,并将字段指定为字节数组而不是字符串表示。然后处理器将跳过 base64 解码。任何人都可以对此有所了解,或者分享一个如何实现这一目标的例子吗?我需要索引大量具有显着大小的文档。所以我需要尽量减少延迟。
python - 读取 CBOR 文件时出现 TypeError
我正在使用 CBOR 文件来包含数据的项目。我已经安装cbor
了pip install cbor
. 但我无法阅读它。
这是我的代码:
然后它返回这个错误:
如何解决这个问题呢?有没有办法将 CBOR 转换为 JSON 文件,因为我发现在 Python 中使用 JSON 文件更容易。
kotlin - kotlinx.serialization.cbor.CborDecodingException:预期的地图开始,但找到 78
我试图将 Kotlin 的序列化包之一与以下自定义示例类一起使用。List
我将通过添加一个真实类(也需要序列化)来扩展这个类以匹配真实用例,但现在问题只是在于反序列化。我已经设法使序列化工作(在第二个代码片段中有要序列化的对象和结果String
),并且似乎反序列化过程需要以相同的方式完成(即,通过使用实例of NullableSerializer
) (事实上,我现在还没有找到一种简单而正确的方法来反序列化编码的对象。这是类,简单但想要复杂。
手动测试功能(其值被简单打印)是:
当我尝试运行它时,异常在于Cbor.load
调用并且是:
我是整个互联网中唯一一个有这个问题的人吗?
kotlin - 如何使用 kotlinx.serialization 在 CBOR 对象和 ByteString 上添加 TAG
如何使用 kotlinx.serialization 在 CBOR 对象和 ByteString 上添加 TAG
例子 :-
24(h'A367646F635479706564646F63326A6E616D65537061636573A2666E616D653231A2626262F4626363F4666E616D653232A2627878F4627979F46B72657175657374496E666FAA644B6579306656616C756530644B6579316656616C756531644B6579326656616C756532644B6579336656616C756533644B6579346656616C756534644B6579356656616C756535644B6579366656616C756536644B6579376656616C756537644B6579386656616C756538644B6579396656616C756539')
在这个例子中,我用 24 标记了 byteString。
有没有办法在 kotlin 多平台中使用 kotlinx.serialization 库
json - 同时支持 serde_json::Value 和 cbor_json::Value
如果我有一个布局未知的 JSON 值,我可以使用以下命令对其进行反序列serde_json
化serde_json::Value
:
同样,我可以对 CBOR 做同样的事情:
但是,如果我想要一个可以从 JSON或CBOR 加载的单一数据结构怎么办。我实际上想要这个:
有没有办法做到这一点,以便我可以将 JSON 或 CBOR 反序列化到这个结构中?
c# - 找不到类型或命名空间名称“PeterO”
我只是尝试使用带有演示hello.cs程序的https://github.com/peteroupc/CBOR repo 。但我最终遇到了以下问题。
1) 属性PeterO.Cbor没有像其他颜色一样反映。请参考以下代码。
2) hello.cs 程序执行时出错。请从下面的快照中找到相同的内容。
使用的命令:mcs hello.cs -out:hello
编译错误输出消息:
附加信息:
1) dotnet-sdk 和 Visual Studio Code 安装步骤如下:
2) Ubuntu、Dotnet 和 Visual Studio Code 版本详情:
3) dotnet restore 命令输出:
因此,我 在文件 /path/to/repo/CBOR/CBOR.csproj中将PackageId PeterO.Cbor替换 为PackageId Peter Cbor 。然后它给出了如下的构建输出。
我对 Visual Studio 代码和 dotnet 框架也很陌生。
谁能在这个问题上纠正我,让我知道我哪里出错了。
asynchronous - 如何用 tokio_serde::SymmetricallyFramed::new() 编写类型定义?
我正在尝试使用 serde_tokio 序列化 cbor。
我可以制作一个简单的程序,但我需要将 tokio_serde::SymmetricallyFramed::new() 实际存储在一个结构中以多次使用它。(它消耗插座,这很酷)。
我似乎无法编写存储值的类型。
产生正确的输出。(取自 tokio-serde crate 中的 json 示例,此处:https ://github.com/carllerche/tokio-serde/blob/master/examples/client.rs
我想将“序列化”放入一个结构中(并隐藏它是如何在 fn 中创建的),但我似乎无法编写正确的类型。
但是,我不想把 cbor::Value 放进去。我应该能够把 Serializable 对象放进去。所以我显然在这里走错了方向。tokio-serde crate 中的 JSON 示例很乐意输入/输出 serde_json::Value,但我认为我应该这样做。
提出了关于 Discord 的建议,将第一个示例更改为:
让编译器告诉我类型是什么:
好吧,我不能将_放入类型别名中,或者直接写它。我认为它应该说“impl Serialize”之类的东西,但这还不是一回事。显然,编译器正确地理解了第一个示例,因此其中肯定有一些内容......但是什么?
rust - 序列化 Vec使用 serde_cbor 到 Rust 中的 CBOR 字节字符串
我想Vec<u8>
使用serde_cbor
. 我尝试了以下代码:
生成以下输出:
这意味着所有元素都被编码为单个整数。但是,我想将向量编码为 CBOR 字节字符串,即:
我怎么做?
c++ - nlohmann::detail::parse_error: 解析 CBOR 字符串时出现语法错误:预期长度规范 (0x60-0x7B) 或不确定的字符串类型 (0x7F)
尝试使用nlohmann/json解析一些 CBOR 有效负载:
失败并出现此错误:
libc++abi.dylib:以 nlohmann::detail::parse_error 类型的未捕获异常终止:[json.exception.parse_error.113] 在字节 2 处解析错误:解析 CBOR 字符串时出现语法错误:预期长度规范(0x60-0x7B ) 或不定字符串类型 (0x7F);最后一个字节:0x43
我尝试了其他解码器,它们能够解码该有效载荷。
Python 的cbor包能够对其进行解码:
{b'ret':[13],b'success':真}
cbor.me 的CBOR游乐场能够对其进行解码:
16 字节:
诊断:
是否有一些标志可以传递给nlohmann/json以使其解码?
试图通过无济于事strict=false
。json::from_cbor()