Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Java 在Apache Cassandra 0.8.2中插入JSON字符串_Java_Json_Cassandra - Fatal编程技术网

Java 在Apache Cassandra 0.8.2中插入JSON字符串

Java 在Apache Cassandra 0.8.2中插入JSON字符串,java,json,cassandra,Java,Json,Cassandra,任何人都知道在cassandra中插入json字符串的简单方法。 假设我有这样一个json字符串:{'key1':'val1','key2':'val2'} 在MongoDB中,我们可以直接插入一个json字符串,比如dbobj.insert(jsonstring); 那么在Cassandra中有没有这样的方法呢?(我正在用java编写代码)至少有3种方法,但这取决于您试图实现什么以及希望运行什么类型的查询 您可以将JSON字符串存储为一个普通字符串/字节,作为Cassandra列名(假设有可以

任何人都知道在cassandra中插入json字符串的简单方法。 假设我有这样一个json字符串:{'key1':'val1','key2':'val2'}

在MongoDB中,我们可以直接插入一个json字符串,比如dbobj.insert(jsonstring);
那么在Cassandra中有没有这样的方法呢?(我正在用java编写代码)

至少有3种方法,但这取决于您试图实现什么以及希望运行什么类型的查询

您可以将JSON字符串存储为一个普通字符串/字节,作为Cassandra列名(假设有可以用作行键的内容)。但是,您将无法基于JSON内容进行查询;这将是您在客户端处理的不透明数据

您可以在存储之前拆分JSON,以便key1、key2是列名,val1、val2是相应的列值。同样,您需要一些东西用作行键。此方法允许您检索单个值,并使用辅助索引检索具有特定值的行

您甚至可以使用key1、key2作为行键,使用val1、val2作为列名。考虑到您在JSON中分组了key-val对,它们可能属于同一个实体并且是相关的,因此这不太可能有用,但为了完整性,我提到它

编辑添加:如果您的问题实际上是如何将数据插入Cassandra,那么您应该阅读Java客户端的文档,例如(还有其他选项-请参阅)

您可以尝试以下方法: 在用户中插入JSON“{”id:“user123”,“age:”42,“state:”TX“}”

参考:

为什么数据库会关心字符串的内容。它是一个JSON字符串这一事实并没有使它与任何其他字符串有所不同,是吗?