相关疑难解决方法(0)

如何使用Serde使用顶级数组反序列化JSON?

我有一些从Web服务返回的JSON数据.JSON是一个顶级数组:

[
    {
        "data": "value1"
    },
    {
        "data": "value2"
    },
    {
        "data": "value3"
    }
]
Run Code Online (Sandbox Code Playgroud)

serde_derivestruct是我能可以反序列化包含在阵列中的数据,但是,我无法得到SERDE反序列化的顶级阵列.

我错过了什么,或Serde不会反序列化顶级数组?

json rust deserialization serde

6
推荐指数
1
解决办法
2637
查看次数

如何从 Rust 的文件/流中懒惰地读取多个 JSON 值?

我想从 Rust 中的文件/读取器读取多个 JSON 对象,一次一个。不幸的是serde_json::from_reader(...)只读取到文件结束;似乎没有任何方法可以使用它来读取单个对象或懒惰地迭代对象。

有没有办法做到这一点?使用serde_json将是理想的,但如果有不同的库,我愿意使用它。

目前我将每个对象放在单独的行上并单独解析它们,但我真的不想这样做。

示例使用

主文件

use serde_json;

fn main() -> Result<(), Box<dyn std::error::Error>> {
   let stdin = std::io::stdin();
   let stdin = stdin.lock();

   for item in serde_json::iter_from_reader(stdin) {
     println!("Got {:?}", item);
   }

   Ok(())
}
Run Code Online (Sandbox Code Playgroud)

.txt

{"foo": ["bar", "baz"]} 1 2 [] 4 5 6
Run Code Online (Sandbox Code Playgroud)

示例会话

{"foo": ["bar", "baz"]} 1 2 [] 4 5 6
Run Code Online (Sandbox Code Playgroud)

serialization json rust

6
推荐指数
1
解决办法
1070
查看次数

标签 统计

json ×2

rust ×2

deserialization ×1

serde ×1

serialization ×1