Serde json string parse

Provides ParseJson trait and JsonParseError struct which allow parse String or &str types to struct using parse_json_with_data_err trait method.

In case of error JsonParseError contains original String or &str and original parsing error from serde.

Examples

```rust use serdejsonstring_parse::{JsonParseError, ParseJson};

[derive(Deserialize, Debug)]

struct TestStruct { key: String, }

[rustfmt::skip]

let text = String::from(r#"{ "key": "value" }"#);

let parseresult: TestStruct = text .parsejsonwithdataerr() .expect("Parsing failed"); asserteq!(parse_result.key, "value"); ```

```rust use serdejsonstring_parse::{JsonParseError, ParseJson};

[derive(Deserialize, Debug)]

struct TestStruct { key: String, }

[rustfmt::skip]

let text = String::from(r#"{ "key" _ "value" }"#);

let parseerror: JsonParseError = text .clone() .parsejsonwithdataerr::() .expecterr("Parsing must fail");

// original_data field contains source text asserteq!(parseerror.original_data, text); ```