如何从JSON填充Chapel类对象?

Bri*_*lan 3 json chapel

在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)

谢谢!

mpp*_*ppf 6

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值的记录.