#json #parser #json-reader

json-read

json-read是一个json读取工具,可以直接通过x.y.z.w方式读取json中的内容,不用逐层解析

3 releases (stable)

Uses new Rust 2024

1.0.1 Sep 2, 2025
0.1.0 Sep 2, 2025

#1271 in Cryptography

37 downloads per month

MIT license

11KB
113 lines

Json 数据读取

use json_read::JsonWrapper;

#[test]
fn test_config_util() {
   // 读取配置文件
    let wrapper = JsonWrapper::new("docs/config.json").unwrap();
    // 直接将json字符串转换成JsonWrapper
    // let warpper = JsonWrapper::from_string("......").unwrap();

    // 不管是对象,还是数组,都是直接通过`.`操作。address是对象,children是数组,name是children中对象的一个属性
    let x = wrapper.get("address.children.name");
    println!("address.children.name = {:?}", x);
    
    // get方法是获取数组,而get_one获取的是第一个元素
    let x = wrapper.get_one("address.x.y").as_str().unwrap();
    println!("address.x.y = {}", x);
}

json-read

介绍

json-read是一个json读取工具,可以直接通过x.y.z.w方式读取json中的内容,不用逐层解析

使用示例

use json_read::JsonWrapper;

#[test]
fn test_config_util() {
    let wrapper = JsonWrapper::new("docs/config.json").unwrap(); // json配置
    // let warpper = JsonWrapper::from_string("......").unwrap();

    // 注意: 这里面的children是一个数组,不管是数组还是对象,都是通过点来操作
    let x = wrapper.get("address.children.name");
    // address.children.name = [String("r"), String("s")]
    println!("address.children.name = {:?}", x);
    println!("=============================================================");

    // 作为配置使用,正常是知晓需要
    let x = wrapper.get_one("address.x.y").as_str().unwrap();
    // address.x.y = hello, json!
    println!("address.x.y = {}", x);
}

安装教程

cargo add json-read

Dependencies

~0.4–0.9MB
~18K SLoC