47 个版本 (16 个稳定版)
1.7.0 | 2024年6月30日 |
---|---|
1.6.1 | 2024年3月23日 |
1.6.0 | 2023年11月4日 |
1.5.0 | 2023年7月9日 |
0.0.10 | 2015年11月6日 |
在 解析器实现 中排名 49
每月下载量 414,640 次
在 536 个crate(96 个直接使用)中使用
250KB
6K SLoC
plist
Rust 语言的 plist 解析器。
许多之前版本的功能现在隐藏在 enable_unstable_features_that_may_break_with_minor_version_bumps
功能之后。这些将在 1.0 版本之后的小版本发布中破坏。如果您真的必须使用它们,您应该在您的 Cargo.toml
中指定波浪线要求,例如 plist = "~1.0.3"
,以便不自动更新到版本 1.1。
lib.rs
:
plist
Rust 语言的 plist 解析器。
用法
将此内容放入您的 Cargo.toml
[dependencies]
plist = "1"
并将此内容放入您的crate根目录
extern crate plist;
示例
使用 serde
extern crate plist;
#[macro_use]
extern crate serde_derive;
#[derive(Deserialize)]
#[serde(rename_all = "PascalCase")]
struct Book {
title: String,
author: String,
excerpt: String,
copies_sold: u64,
}
let book: Book = plist::from_file("tests/data/book.plist")
.expect("failed to read book.plist");
assert_eq!(book.title, "Great Expectations");
#
使用 Value
use plist::Value;
let book = Value::from_file("tests/data/book.plist")
.expect("failed to read book.plist");
let title = book
.as_dictionary()
.and_then(|dict| dict.get("Title"))
.and_then(|title| title.as_string());
assert_eq!(title, Some("Great Expectations"));
不稳定功能
许多之前版本的功能现在隐藏在 enable_unstable_features_that_may_break_with_minor_version_bumps
功能之后。这些将在 1.0 版本之后的小版本发布中破坏。如果您真的必须使用它们,您应该在您的 Cargo.toml
中指定波浪线要求,例如 plist = "~1.0.3"
,以便不自动更新到版本 1.1。
依赖
~3.5MB
~61K SLoC