JSON转Python

将JSON转换为Python类
JSON转Python
3.6
3.5
3.6
3.7
 
仅类
 
属性名转为Python风格
 
使用pydantic BaseModel
 
所有属性可选
您的Python代码
from typing importAny, List, TypeVar, Callable, Type, cast T = TypeVar("T") deffrom_int(x: Any) -> int: assertisinstance(x, int) andnotisinstance(x, bool) return x deffrom_str(x: Any) -> str: assertisinstance(x, str) return x deffrom_list(f: Callable[[Any], T], x: Any) -> List[T]: assertisinstance(x, list) return [f(y) for y in x] defto_class(c: Type[T], x: Any) -> dict: assertisinstance(x, c) return cast(Any, x).to_dict() classNested: a: int b: intdef__init__(self, a: int, b: int) -> None: self.a = a self.b = b  @staticmethoddeffrom_dict(obj: Any) -> 'Nested': assertisinstance(obj, dict) a = from_int(obj.get("a")) b = int(from_str(obj.get("b"))) return Nested(a, b) defto_dict(self) -> dict: result: dict = {} result["a"] = from_int(self.a) result["b"] = from_str(str(self.b)) return result classGeneratedClass: a: str arr: List[int] nested: Nested def__init__(self, a: str, arr: List[int], nested: Nested) -> None: self.a = a self.arr = arr self.nested = nested  @staticmethoddeffrom_dict(obj: Any) -> 'GeneratedClass': assertisinstance(obj, dict) a = from_str(obj.get("a")) arr = from_list(from_int, obj.get("arr")) nested = Nested.from_dict(obj.get("nested")) return GeneratedClass(a, arr, nested) defto_dict(self) -> dict: result: dict = {} result["a"] = from_str(self.a) result["arr"] = from_list(from_int, self.arr) result["nested"] = to_class(Nested, self.nested) return result defgenerated_class_from_dict(s: Any) -> GeneratedClass: return GeneratedClass.from_dict(s) defgenerated_class_to_dict(x: GeneratedClass) -> Any: return to_class(GeneratedClass, x) 

相关工具 (20)

CSV转数据
将CSV文件转换为JSON、YAML、CSV、SQL INSERT、XML或Markdown
Excel转数据
将XLSX文件转换为JSON、YAML、CSV、SQL INSERT、XML或Markdown
文本转UTF-8二进制
在文本和UTF-8二进制表示之间转换
文本转Unicode
解析并转换文本为Unicode,或反向转换。
Unicode字符转Java实体转换器
Unicode字符与Java实体双向转换。
JWT生成器
JWT令牌生成器和编辑器
JWT解析器
解析和解码您的JSON Web令牌(JWT)并显示其内容。
JSON 转卡通
将 JSON 对象转换为 LLM/GPT 使用的 TOON 表示形式
TOON 转 JSON
将 TOON 表示形式转换为 JSON 对象以供 LLM 使用
数据伪造工具
使用JSON模板生成假数据
文件分割器
将 JSON、XML 或文本文件按节点组或行组拆分。
JSON转Protobuf
从JSON对象生成Protobuf声明
JSON转SQL INSERT
将JSON数组转换为INSERT INTO语句
JSON转TypeScript
将JSON转换为TypeScript代码
IPv4/6范围转CIDR计算器
根据IP范围(IPv4/6)计算CIDR
CSV转JSON
自动检测表头,将CSV转换为JSON。
JS转JSON转换器
使用此在线工具直接将JavaScript对象转换为JSON。
JQ/JSONPath测试器
针对JSON内容测试jq/JSONPath表达式
JSON差异比较
比较两个JSON对象并获取它们之间的差异。
JSON编辑器
编辑JSON内容
留言区
昵称
邮箱
网址
0/500
0 条评论
没有评论
查看更多
Powered by Twikoo v1.6.44
Twikoo 评论管理
密码