rust_web_server/json/array/boolean/
mod.rs1use crate::json::array::RawUnprocessedJSONArray;
2use crate::symbol::SYMBOL;
3
4#[cfg(test)]
5mod example_list_bool_with_asserts;
6#[cfg(test)]
7mod example_list_bool;
8
9pub struct JSONArrayOfBooleans;
10impl JSONArrayOfBooleans {
11 pub fn parse_as_list_bool(json : String) -> Result<Vec<bool>, String> {
12 let items = RawUnprocessedJSONArray::split_into_vector_of_strings(json).unwrap();
13 let mut list: Vec<bool> = vec![];
14 for item in items {
15 let boxed_parse = item.parse::<bool>();
16 if boxed_parse.is_err() {
17 let message = boxed_parse.err().unwrap().to_string();
18 return Err(message);
19 }
20 let boolean: bool = boxed_parse.unwrap();
21 list.push(boolean);
22 }
23 Ok(list)
24 }
25
26 pub fn to_json_from_list_bool(items : &Vec<bool>) -> Result<String, String> {
27 let mut json_vec = vec![];
28 json_vec.push(SYMBOL.opening_square_bracket.to_string());
29 for (pos, item) in items.iter().enumerate() {
30 json_vec.push(item.to_string());
31 if pos != items.len() - 1 {
32 json_vec.push(SYMBOL.comma.to_string());
33 }
34 }
35 json_vec.push(SYMBOL.closing_square_bracket.to_string());
36
37 let result = json_vec.join(SYMBOL.empty_string);
38 Ok(result)
39 }
40
41}