| Crates.io | php-literal-parser |
| lib.rs | php-literal-parser |
| version | 0.7.0 |
| created_at | 2020-12-01 23:42:01.22685+00 |
| updated_at | 2025-08-17 17:59:22.017039+00 |
| description | parser for php literals |
| homepage | |
| repository | https://codeberg.org/icewind/php-literal-parser |
| max_upload_size | |
| id | 318722 |
| size | 130,047 |
parser for php literals.
Parse into a generic representation
use php_literal_parser::{from_str, Value, ParseError};
fn main() -> Result<(), ParseError> {
let map = from_str::<Value>(r#"["foo" => true, "nested" => ['foo' => false]]"#)?;
assert_eq!(map["foo"], true);
assert_eq!(map["nested"]["foo"], false);
Ok(())
}
Or parse into a specific struct using serde
use php_literal_parser::{from_str, ParseError};
use serde::Deserialize;
#[derive(Debug, Deserialize, PartialEq)]
struct Target {
foo: bool,
bars: Vec<u8>
}
fn main() -> Result<(), ParseError> {
let target = from_str(r#"["foo" => true, "bars" => [1, 2, 3, 4,]]"#)?;
assert_eq!(Target {
foo: true,
bars: vec![1, 2, 3, 4]
}, target);
Ok(())
}