asterix_parser 0.1.1

Playground do Protocolo ASTERIX
Documentation
use json::JsonValue;
use std::fs::OpenOptions;
use std::io::prelude::*;
// use std::io::{BufWriter, Write};

#[test]
pub(crate) fn test_read_asterix_json_spec_from_file() {
    let mut myfile = match OpenOptions::new()
        .read(true)
        .write(true)
        .create(true)
        .open("/tmp/definition.json") {
            Ok(f) => f,
            Err(_) => panic!("Error opening file"),
        };

    let mut raw_json = String::new();
    myfile.read_to_string(&mut raw_json).unwrap();

    let deserialized: JsonValue = match json::parse(&raw_json) {
        Ok(d) => d,
        Err(_) => panic!("Error deserializing json file content"),
    };
    
    for element in deserialized.entries() {
        if element.1.members().count() > 0 {
            println!("Element key: {}", element.0);
            for member in element.1.members() {
                for member_element in member.entries(){
                    println!("Element key: {}, value: {}", member_element.0, member_element.1)            
                }
            }
        } else {
            println!("Element key: {}, value: {}", element.0, element.1)
        }
    }

    let stringfied = json::stringify_pretty(deserialized.clone(), 4);
    println!("Json strinfied: {}", stringfied);
    assert_ne!(0, deserialized.len());
}