在Python中,我可以很容易地从JSON创建对象.我可以填充类或只创建一个通用对象.我看到Chapel有一个readJSON方法,但我不知道如何使用它.
如果我有:
class Fighter {
var subclass:string;
var level:int;
}
Run Code Online (Sandbox Code Playgroud)
和一个字符串:
s = "{'subclass':'Ninja', 'level':7}"
Run Code Online (Sandbox Code Playgroud)
我如何获得一个Fighter对象?
是否有方法,如:
n = json.loads(s)
n['subclass'] # = 'ninja', but just as a field key
Run Code Online (Sandbox Code Playgroud)
要么:
Hattori = Fighter.read(s);
Hattori['subclass'] # = 'ninja'
Run Code Online (Sandbox Code Playgroud)
谢谢!
json.loads(s)通过创建某种特定类型(例如JSONNode)并填充它,可以创建类似工作的东西.
但是现在我们可以在你的例子中得到一些工作:
class Fighter {
var subclass:string;
var level:int;
}
var mem = openmem();
var writer = mem.writer().write('{"subclass":"ninja", "level":7}');
var reader = mem.reader();
var f = new Fighter();
reader.readf("%jt", f);
writeln(f);
Run Code Online (Sandbox Code Playgroud)
请注意,在读取之前,必须先分配类实例.或者您可以使用没有nil值的记录.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |