首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从JSON中填充Chapel类对象?

如何从JSON中填充Chapel类对象?
EN

Stack Overflow用户
提问于 2017-08-10 15:03:55
回答 1查看 155关注 0票数 3

在Python中,我可以很容易地从JSON创建对象。我既可以填充类,也可以创建一个泛型对象。我看到Chapel有一个用于JSON的read方法,但我不确定如何使用它。

如果我有:

代码语言:javascript
复制
class Fighter {
  var subclass:string;
  var level:int;
}

还有一根绳子:

代码语言:javascript
复制
s = "{'subclass':'Ninja', 'level':7}"

如何获得Fighter对象?

是否有这样的方法:

代码语言:javascript
复制
n = json.loads(s)
n['subclass']             # = 'ninja', but just as a field key

或者:

代码语言:javascript
复制
Hattori = Fighter.read(s);
Hattori['subclass']       # = 'ninja'

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 15:08:39

通过创建某种特定类型(例如,json.loads(s) )并对其进行填充,可以使类似于JSONNode的东西工作。

不过,现在我们可以在您的示例中找到一些有用的东西:

代码语言:javascript
复制
 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);

注意,当前必须在读取类实例之前分配它。或者您可以使用没有nil值的记录。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45617341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档