1 stable release
1.0.1 | Jan 5, 2021 |
---|
#9 in #plist
185KB
4.5K
SLoC
Plist
A rusty plist parser.
Many features from previous versions are now hidden behind the enable_unstable_features_that_may_break_with_minor_version_bumps
feature. These will break in minor version releases after the 1.0 release. If you really really must use them you should specify a tilde requirement e.g. plist = "~1.0.3"
in you Cargo.toml
so that the plist crate is not automatically updated to version 1.1.
lib.rs
:
Plist
A rusty plist parser.
Usage
Put this in your Cargo.toml
:
[dependencies]
plist = "1"
And put this in your crate root:
extern crate plist;
Examples
Using 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");
#
Using 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"));
Unstable Features
Many features from previous versions are now hidden behind the
enable_unstable_features_that_may_break_with_minor_version_bumps
feature. These will break in
minor version releases after the 1.0 release. If you really really must use them you should
specify a tilde requirement e.g. plist = "~1.0.3"
in you Cargo.toml
so that the plist crate
is not automatically updated to version 1.1.
Dependencies
~3MB
~51K SLoC