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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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")

以上是关于在JSON中存储字符串::任何变量都不起作用的主要内容,如果未能解决你的问题,请参考以下文章