Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在orientdb中存储包含特殊字符的数据_Ruby_Ruby On Rails 3_Hash_Graph Databases_Orientdb - Fatal编程技术网

Ruby 在orientdb中存储包含特殊字符的数据

Ruby 在orientdb中存储包含特殊字符的数据,ruby,ruby-on-rails-3,hash,graph-databases,orientdb,Ruby,Ruby On Rails 3,Hash,Graph Databases,Orientdb,我们正在使用Orient DB存储数据。因为我们使用Ruby哈希存储它。但如果散列值中出现任何特殊字符,则会破坏散列结构,并在存储时导致错误。 我们需要一些关于如何转义散列值的帮助,以便将特殊字符转换为常量 我们将下面的散列传递给orient db,它会导致错误,因为addressLine1包含特殊字符,这会破坏JSON格式 { "addressLine1" =>"my address`~!@\#$%^&*()_ +=-{}|[]:\"';<>?/.,", "a

我们正在使用Orient DB存储数据。因为我们使用Ruby哈希存储它。但如果散列值中出现任何特殊字符,则会破坏散列结构,并在存储时导致错误。 我们需要一些关于如何转义散列值的帮助,以便将特殊字符转换为常量

我们将下面的散列传递给orient db,它会导致错误,因为addressLine1包含特殊字符,这会破坏JSON格式

{
  "addressLine1" =>"my address`~!@\#$%^&*()_ +=-{}|[]:\"';<>?/.,",
  "addressLine2"=>"india",
  "city"=>"bangalore",
} 
{
“addressLine1”=>“我的地址`~!@\\\$%^&*()我的地址+=-{}\[]:\”;?/,“,
“addressLine2”=>“印度”,
“城市”=>“班加罗尔”,
} 
我们可以做的一件事是,转义散列中的所有字符串,然后将其传递给orient db,然后在读取时再次取消此转义。请给出最佳解决方案。

尝试此方法:

insert into V content {
  "addressLine1" : "my address`~!@\#$%^&*()_ +=-{}|[]:\"';<>?/.,",
  "addressLine2":"india",
  "city" : "bangalore"
} 
插入到V内容中{
“addressLine1:“我的地址”`~!@\\\$%^&*()我的地址+=-{}我的地址[]:\”;?/,“,
“地址行2”:“印度”,
“城市”:“班加罗尔”
} 

谢谢你,Lvca。将orientdb升级到1.7.8版后,我们可以解决问题。

您是否可以发布您执行的导致错误的命令?您是否尝试使用orientdb v1.7.8版,还是使用旧版本?是的,我们也尝试了1.7.8版。我们使用的是1.6版本。它在orient db控制台上工作。但我们正在使用通知。我认为问题不在于orient,而在于用Uniction编写的javascript代码。我们使用NETHTTP通过RESTAPI将数据传递给orient。在执行JSON字符串化操作的操作中,插入数据正在中断。以下解决方案适用于我们