将字符串存储在 JSON::任何变量不起作用



我最近回到了水晶,我注意到 0.25.0 中关于 JSON 行为的一些重大变化。

以前,当我有一个类型JSON::Type的变量时,我可以简单地在其中存储一个字符串

a : JSON::Type
a = "some string"

更改变量to JSON::Any后,这不再可能,从而导致错误:type must be JSON::Any, not String

但是,对字符串调用.to_jsonas(JSON::Any)也不起作用,因为返回的值也是类String

puts typeof("Hello".to_json) => String
puts typeof("Hello".as(JSON::Any)) => String

这是有意的行为吗?我现在如何在 json 中存储字符串?

此外,在本地,JSON.parse("some string")我得到了一个JSON::ParseException,而它在线工作...... https://play.crystal-lang.org/#/r/4y49

现在正确的用法是JSON::Any.new("some string")

相关内容

  • 没有找到相关文章

最新更新