package ru.omni_devel.cards import kotlinx.serialization.Serializable import org.json.JSONArray import org.json.JSONObject @Serializable class Field( val id: String, val names: LinkedHashMap, val default: String? = null, val maybeEmpty: Boolean = false ) @Serializable class Template( val names: LinkedHashMap, val fields: List, val template: String ) { companion object { fun parseTemplateFromJson(json: String): Template { val obj = JSONObject(json) val fieldsArray = obj.getJSONArray("fields") val fields = mutableListOf() for (fi in 0 until fieldsArray.length()) { val fieldObj = fieldsArray.getJSONObject(fi) fields.add(Field( id = fieldObj.getString("id"), names = jsonObjectToMap(fieldObj.getJSONObject("names")), default = fieldObj.optString("default"), maybeEmpty = fieldObj.optBoolean("maybeEmpty") )) } return Template( names = jsonObjectToMap(obj.getJSONObject("names")), fields = fields, template = obj.getString("template") ) } fun parseTemplatesFromJson(json: String): List