问题标签 [serde-json]
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.
rust - 将 JSON 字符串或字符串数组反序列化为 Vec
我正在编写一个与 JSON Web API 接口的板条箱。一个端点通常返回表单的响应{ "key": ["value1", "value2"] }
,但有时键只有一个值,并且端点返回{ "key": "value" }
而不是{ "key": ["value"] }
我想为此写一些通用的东西,我可以#[serde(deserialize_with)]
像这样使用:
我怎样才能写一个deserialize_string_or_seq_string
能够做到这一点?
rust - 创建返回实现 serde::Deserialize 的值的函数时的生命周期错误
我正在使用 serde 和 serde_json 1.0 来解码来自 base64 字符串的数据:
当我编译时,我得到了这个:
检查 serde 文档,Deserialize
定义为:
所以我添加了生命周期:
然后编译器告诉我:
我只知道 Rust 生命周期的基础知识,所以我对'de
in非常困惑trait Deserialize
。
如何修复此类函数中的生命周期错误?我每晚使用 Rust 1.18.0 (452bf0852 2017-04-19)
rust - 函数局部变量的寿命不够长
我正在尝试围绕 serde_json 和 Rocket 编写一个包装器,FromData
以强类型化我与服务器交换的一些 JSON。
我无法编译以下代码:
编译器的错误:
因为data_from_reader
, value
and unwraped_value
come fromdata
我认为编译器可以推断出它具有相同的生命周期,但显然情况并非如此。有什么办法可以说明或做一些在这种情况下可行的事情吗?
rust - 有没有更简单的方法在反序列化时转换类型?
使用serde_jsonString
,我有需要转换为浮点数的带有 s 的 JSON 对象。我偶然发现了一个自定义反序列化器解决方案,但它似乎是一个 hack。 这是下面代码的工作游乐场示例。
上面的代码按照你的预期编译和运行,输出两个浮点数。
我正在尝试了解反序列化器解决方案的工作原理,但我想知道我是否朝着正确的方向前进,或者是否有更好的方法来做到这一点。
json - 使用 serde_json 解析对象内部的对象
我被卡住了,下面是我收到的 JSON:
我对我的结构应该如何使用serde_json
板条箱解析属性感到有点困惑。以下是我目前拥有的:
我收到一条错误消息:
线程'main'在'调用
Result::unwrap()
一个Err
值:ErrorImpl { code:Message(“missing fieldassest
”),line:0,column:0}'时惊慌失措,src/libcore/result.rs:860:4
rust - 将 JSON 数组反序列化为元组并为其赋予类型标签
我的 JSON 看起来像:
数组中的对象当然有其他字段range
,但这没关系。
是否可以将它们反序列化为具有两种幻像类型的元组,以自动指示开始和结束是包含还是不包含?
这也可以通过将数字反序列化为某种具有幻像类型的元组来解决。
这不起作用,因为serde_json
似乎对 size 数组一无所知PhantomData
并期望数组4
,这可以通过Deserializer
手动实现来解决,这正是我想要避免的事情。
我没有寄予厚望,但也许这可以做到,我不知道。
rust - 如何更改 Serde 的默认实现以返回空对象而不是 null?
我正在开发一个 API 包装器,但在反序列化空 JSON 对象时遇到了一些麻烦。
API 返回此 JSON 对象。注意空对象entities
:
这是我等效的message
属性结构(已编辑):
Serde 的默认设置是反序列化Option
s,即None
, 和::serde_json::Value::Null
.
rust - 如果变量的值为空,则跳过其序列化?(自定义序列化)
Token
如果变量的值为空,我想跳过变量的序列化。
json - 如何将两个 JSON 对象与 Rust 合并?
我有两个 JSON 文件:
JSON 1
JSON 2
我想将#2 合并到#1 中,其中#2 覆盖#1,产生以下输出:
我检查了执行此操作的 crate json-patch,但它不能针对稳定的 Rust 进行编译。是否可以使用serde_json和 stable Rust之类的东西做类似的事情?
rust - 尝试使用 serde_json 从 curl 解析 JSON 时类型不匹配
我已经从一个用于打开 WIFI 的 API 获得 JSON 输出,我想将其放入数据库中。数据就是这种形式。
我已经通过以下方式获得了信息curl
:
我尝试使用 serde_json:
我总是得到一个错误:
你能给我一个如何处理数据以将其输入数据库的示例吗?