1 个稳定版本
1.0.1 | 2021年1月5日 |
---|
9 在 #plist
185KB
4.5K SLoC
Plist
一个Rusty plist解析器。
许多旧版本的功能现在隐藏在enable_unstable_features_that_may_break_with_minor_version_bumps
特性之后。这些将在1.0版本发布后的次要版本发布中中断。如果你真的必须使用它们,你应该在你的Cargo.toml
中指定波浪线要求,例如plist = "~1.0.3"
,这样plist包就不会自动更新到版本1.1。
lib.rs
:
Plist
一个Rusty 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"
,这样plist包就不会自动更新到版本1.1。
依赖项
~3MB
~51K SLoC