[英]function from_dict() failing for unknown reason in python
我使用https://json2csharp.com/code-converters/json-to-python将以下 JSON 转换为数据类:
{
"bypassCd": [
"Duis sint ipsum in",
"consequat"
]
}
它在数据类下方生成 - 由于某种原因,它显示错误 at.from_dict() 方法,我无法弄清楚。 请指教
from typing import List
from typing import Any
from dataclasses import dataclass
import json
@dataclass
class Root:
bypassCd: List[str]
@staticmethod
def from_dict(obj: Any) -> 'Root':
_bypassCd = [.from_dict(y) for y in obj.get("bypassCd")]
return Root(_bypassCd)
# Example Usage
jsonstring = json.loads('''
{
"bypassCd": [
"Duis sint ipsum in",
"consequat"
] }
''')
root = Root.from_dict(jsonstring)
print(root)
错误:
File "/local_home/afxx1285/pyprograms/test2.py", line 11
_bypassCd = [.from_dict(y) for y in obj.get("bypassCd")]
^
SyntaxError: invalid syntax
这是我想出的,但很难说它是否符合您的需求。 我不明白为什么它要从from_dict
from_dict
from typing import Mapping, List
from dataclasses import dataclass
import json
@dataclass
class Root:
bypassCd: List[str]
@staticmethod
def from_dict(obj: Mapping) -> 'Root':
_bypassCd = obj.get("bypassCd", [])
return Root(_bypassCd)
# Example Usage
my_dict = json.loads('''
{
"bypassCd": [
"Duis sint ipsum in",
"consequat"
]
}
''')
root = Root.from_dict(my_dict)
print(root)
您在这一行收到SyntaxError
:
_bypassCd = [.from_dict(y) for y in obj.get("bypassCd")]
...因为您正在尝试运行from_dict
的方法/函数,但您还没有写 which object 持有这个 function。您可以在 function 调用之前指定一个 object :
obj.from_dict(y)
我想你想要做的是递归调用Root.from_dict
function,所以你应该写:
Root.from_dict(y)
这仍然会引发错误,因为您的算法需要进行一些更改,但这可以回答您最初的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.