mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
'v3.3.4.1'
This commit is contained in:
@@ -17,11 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.langs.jsons; import gplx.*; import gplx.langs.*;
|
||||
public class Json_kv_ary_srl {
|
||||
public static KeyVal Kv_by_itm(Json_itm itm) {
|
||||
public static Keyval Kv_by_itm(Json_itm itm) {
|
||||
switch (itm.Tid()) {
|
||||
case Json_itm_.Tid__kv:
|
||||
Json_kv kv = (Json_kv)itm;
|
||||
return KeyVal_.new_(kv.Key_as_str(), Val_by_itm(kv.Val()));
|
||||
return Keyval_.new_(kv.Key_as_str(), Val_by_itm(kv.Val()));
|
||||
default:
|
||||
throw Err_.new_unhandled(itm.Tid());
|
||||
}
|
||||
@@ -39,19 +39,19 @@ public class Json_kv_ary_srl {
|
||||
default: throw Err_.new_unhandled(itm.Tid());
|
||||
}
|
||||
}
|
||||
private static KeyVal[] Val_by_itm_ary(Json_ary itm) {
|
||||
private static Keyval[] Val_by_itm_ary(Json_ary itm) {
|
||||
int subs_len = itm.Len();
|
||||
KeyVal[] rv = new KeyVal[subs_len];
|
||||
Keyval[] rv = new Keyval[subs_len];
|
||||
for (int i = 0; i < subs_len; i++) {
|
||||
Json_itm sub = itm.Get_at(i);
|
||||
KeyVal kv = KeyVal_.new_(Int_.To_str(i + Int_.Base1), Val_by_itm(sub));
|
||||
Keyval kv = Keyval_.new_(Int_.To_str(i + Int_.Base1), Val_by_itm(sub));
|
||||
rv[i] = kv;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
public static KeyVal[] Val_by_itm_nde(Json_nde itm) {
|
||||
public static Keyval[] Val_by_itm_nde(Json_nde itm) {
|
||||
int subs_len = itm.Len();
|
||||
KeyVal[] rv = new KeyVal[subs_len];
|
||||
Keyval[] rv = new Keyval[subs_len];
|
||||
for (int i = 0; i < subs_len; i++) {
|
||||
Json_itm sub = itm.Get_at(i);
|
||||
rv[i] = Kv_by_itm(sub);
|
||||
|
||||
@@ -35,16 +35,16 @@ class Json_kv_ary_srl_fxt {
|
||||
parser = new Json_parser();
|
||||
}
|
||||
} private Json_parser parser;
|
||||
public void Test_parse(String raw_str, KeyVal[] expd) {
|
||||
public void Test_parse(String raw_str, Keyval[] expd) {
|
||||
byte[] raw_bry = Json_parser_tst.Replace_apos(Bry_.new_u8(raw_str));
|
||||
Json_doc doc = parser.Parse(raw_bry);
|
||||
KeyVal[] actl = Json_kv_ary_srl.Val_by_itm_nde(doc.Root_nde());
|
||||
Tfds.Eq_str_lines(KeyVal_.Ary_to_str(expd), KeyVal_.Ary_to_str(actl));
|
||||
Keyval[] actl = Json_kv_ary_srl.Val_by_itm_nde(doc.Root_nde());
|
||||
Tfds.Eq_str_lines(Keyval_.Ary_to_str(expd), Keyval_.Ary_to_str(actl));
|
||||
}
|
||||
public KeyVal[] ary_(KeyVal... ary) {return ary;}
|
||||
public KeyVal kv_obj_(String key, Object val) {return KeyVal_.new_(key, val);}
|
||||
public KeyVal kv_str_(String key, String val) {return KeyVal_.new_(key, val);}
|
||||
public KeyVal kv_int_(String key, int val) {return KeyVal_.new_(key, val);}
|
||||
public KeyVal kv_bool_(String key, boolean val) {return KeyVal_.new_(key, Bool_.To_str_lower(val));}
|
||||
public KeyVal kv_dec_(String key, Decimal_adp val) {return KeyVal_.new_(key, val.To_str());}
|
||||
public Keyval[] ary_(Keyval... ary) {return ary;}
|
||||
public Keyval kv_obj_(String key, Object val) {return Keyval_.new_(key, val);}
|
||||
public Keyval kv_str_(String key, String val) {return Keyval_.new_(key, val);}
|
||||
public Keyval kv_int_(String key, int val) {return Keyval_.new_(key, val);}
|
||||
public Keyval kv_bool_(String key, boolean val) {return Keyval_.new_(key, Bool_.To_str_lower(val));}
|
||||
public Keyval kv_dec_(String key, Decimal_adp val) {return Keyval_.new_(key, val.To_str());}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class Json_parser__list_nde__base extends Json_parser__itm__base {
|
||||
Json_kv sub = nde.Get_at_as_kv(i);
|
||||
byte[] key = sub.Key_as_bry();
|
||||
byte[] val = Parse_to_list_as_kv__get_val(sub, key);
|
||||
list.Add(key, KeyVal_.new_(String_.new_u8(key), String_.new_u8(val)));
|
||||
list.Add(key, Keyval_.new_(String_.new_u8(key), String_.new_u8(val)));
|
||||
}
|
||||
}
|
||||
@gplx.Virtual protected byte[] Parse_to_list_as_kv__get_val(Json_kv sub, byte[] key) {return sub.Val_as_bry();}
|
||||
|
||||
@@ -211,10 +211,10 @@ public class Json_wtr {
|
||||
else {
|
||||
Handle_nde_as_ary_itm_0();
|
||||
Write_grp_bgn(Sym_nde_bgn, Bool_.N);
|
||||
KeyVal[] kvy = (KeyVal[])obj;
|
||||
Keyval[] kvy = (Keyval[])obj;
|
||||
int kvy_len = kvy.length;
|
||||
for (int i = 0; i < kvy_len; ++i) {
|
||||
KeyVal kv = kvy[i];
|
||||
Keyval kv = kvy[i];
|
||||
Object kv_val = kv.Val();
|
||||
Kv_obj(Bry_.new_u8(kv.Key()), kv_val, Type_adp_.To_tid_obj(kv_val));
|
||||
}
|
||||
@@ -287,7 +287,7 @@ public class Json_wtr {
|
||||
private static final int Grp_type__json_nde = 1, Grp_type__kv_ary = 2, Grp_type__json_ary = 3, Grp_type__obj_ary = 4;
|
||||
private static int Grp_type__get(Object obj) {
|
||||
Class<?> type = obj.getClass();
|
||||
if (Type_adp_.Eq(type, KeyVal[].class)) return Grp_type__kv_ary;
|
||||
if (Type_adp_.Eq(type, Keyval[].class)) return Grp_type__kv_ary;
|
||||
else if (Type_adp_.Is_array(type)) return Grp_type__obj_ary;
|
||||
else if (Type_adp_.Eq(type, Json_nde.class)) return Grp_type__json_nde;
|
||||
else if (Type_adp_.Eq(type, Json_ary.class)) return Grp_type__json_ary;
|
||||
|
||||
@@ -84,9 +84,9 @@ public class Json_wtr_tst {
|
||||
fxt.Wtr()
|
||||
.Doc_nde_bgn()
|
||||
.Ary_bgn("a0")
|
||||
.Ary_itm_obj(KeyVal_.Ary
|
||||
( KeyVal_.new_("k1", "v1")
|
||||
, KeyVal_.new_("k2", "v2")
|
||||
.Ary_itm_obj(Keyval_.Ary
|
||||
( Keyval_.new_("k1", "v1")
|
||||
, Keyval_.new_("k2", "v2")
|
||||
))
|
||||
.Ary_end()
|
||||
.Doc_nde_end();
|
||||
|
||||
Reference in New Issue
Block a user