Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use serde_json::{self, Map, Value}; // 1.0.38
- fn main() {
- let all_type = b"
- {
- \"number\": 123,
- \"string\": \"abcdefg\",
- \"boolean\": true
- }";
- let string_only = b"
- {
- \"string1\": \"abcdefg\",
- \"string2\": \"abcdefg\",
- \"string3\": \"abcdefg\"
- }";
- let all: Value = serde_json::from_slice(all_type).unwrap();
- let string: Value = serde_json::from_slice(string_only).unwrap();
- let flag1 = is_data_valid(&all);
- let flag2 = is_data_valid(&string);
- println!("{}", flag1);
- println!("{}", flag2);
- }
- fn is_data_valid(val: &serde_json::Value) -> bool {
- match val.as_object() {
- Some(map) => {
- for key in map.keys() {
- if !is_data_valid(&map[key]) {
- return false;
- }
- }
- },
- None => {
- match val.as_str() {
- Some(str_val) => true,
- None => false,
- };
- },
- }
- true
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement