本文整理了Java中org.msgpack.value.Value.asMapValue()
方法的一些代码示例,展示了Value.asMapValue()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Value.asMapValue()
方法的具体详情如下:
包路径:org.msgpack.value.Value
类名称:Value
方法名:asMapValue
[英]Returns the value as MapValue. Otherwise throws MessageTypeCastException. Note that you can't use instanceof
or cast ((MapValue) thisValue)
to check type of a value because type of a mutable value is variable.
[中]将值作为MapValue返回。否则抛出MessageTypeCastException。请注意,不能使用instanceof
或强制转换((MapValue) thisValue)
来检查值的类型,因为可变值的类型是可变的。
代码示例来源:origin: embulk/embulk
@Test
public void useSkipInvalidEscapeString() throws Exception {
ConfigSource config = this.config.deepCopy().set("invalid_string_escapes", "SKIP");
transaction(config, fileInput(
"{\"\\a\":\"b\"}\\"
));
List<Object[]> records = Pages.toObjects(plugin.newSchema(), output.pages);
assertEquals(1, records.size());
Object[] record = records.get(0);
Map<Value, Value> map = ((Value) record[0]).asMapValue().map();
assertEquals(newString("b"), map.get(newString("")));
}
代码示例来源:origin: embulk/embulk
@Test
public void useUnEscapeInvalidEscapeString() throws Exception {
ConfigSource config = this.config.deepCopy().set("invalid_string_escapes", "UNESCAPE");
transaction(config, fileInput(
"{\"\\a\":\"b\"}\\"
));
List<Object[]> records = Pages.toObjects(plugin.newSchema(), output.pages);
assertEquals(1, records.size());
Object[] record = records.get(0);
Map<Value, Value> map = ((Value) record[0]).asMapValue().map();
assertEquals(newString("b"), map.get(newString("a")));
}
代码示例来源:origin: embulk/embulk
map = ((Value) record[0]).asMapValue().map();
assertTrue(((Value) record[0]).asMapValue().map().isEmpty());
map = ((Value) record[0]).asMapValue().map();
代码示例来源:origin: org.msgpack/msgpack-core
@Override
public boolean equals(Object o)
{
if (o == this) {
return true;
}
if (!(o instanceof Value)) {
return false;
}
Value v = (Value) o;
if (!v.isMapValue()) {
return false;
}
MapValue mv = v.asMapValue();
return map().equals(mv.map());
}
代码示例来源:origin: sonots/embulk-filter-column
public Value visit(String rootPath, Value value)
{
if (! shouldVisit(rootPath)) {
return value;
}
if (value == null) {
return null;
}
else if (value.isArrayValue()) {
return visitArray(rootPath, value.asArrayValue());
}
else if (value.isMapValue()) {
return visitMap(rootPath, value.asMapValue());
}
else {
return value;
}
}
}
代码示例来源:origin: komamitsu/fluency
@Test
public void ingestWithoutAck()
throws IOException
{
Ingester ingester = new FluentdIngester(new FluentdIngester.Config(), fluentdSender);
ingester.ingest(TAG, ByteBuffer.wrap(DATA));
verify(fluentdSender, times(1)).send(byteBuffersArgumentCaptor.capture());
List<ByteBuffer> byteBuffers = byteBuffersArgumentCaptor.getAllValues().get(0);
byte[] ingested = getIngestedData(byteBuffers);
MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(ingested);
ImmutableArrayValue arrayValue = unpacker.unpackValue().asArrayValue();
assertEquals(3, arrayValue.size());
assertEquals(TAG, arrayValue.get(0).asStringValue().asString());
assertArrayEquals(DATA, arrayValue.get(1).asRawValue().asByteArray());
Map<Value, Value> options = arrayValue.get(2).asMapValue().map();
assertEquals(1, options.size());
assertEquals(DATA.length,
options.get(ValueFactory.newString("size")).asIntegerValue().asInt());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visit_withColumnNameIncludingSingleQuotes()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$['\\\\'json1']['k1']\"}");
Schema inputSchema = Schema.builder()
.add("'json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":"v"}
Value k1 = ValueFactory.newString("k1");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(k1, v);
MapValue visited = subject.visit("$['\\'json1']", map).asMapValue();
assertEquals("{\"k1\":\"v\"}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_columnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$['json1']['k1']\"}",
" - {name: \"$['json1']['k2']['k2']\"}",
" - {name: \"$['json1']['k3']['k3']\", type: string, default: v}",
" - {name: \"$['json1']['k4']\", src: \"$['json1']['k2']\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k1":"v","k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{\"k1\":\"v\"},\"k2\":{\"k2\":\"v\"},\"k3\":{\"k3\":\"v\"},\"k4\":{\"k2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visit_withDotAndBracket()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$.json1['k_1']\"}",
" - {name: \"$.json1['k_1'][0]['k_1']\"}",
" - {name: \"$['json1']['k_2']\"}",
" - {name: \"$['json1']['k_2']['k_2']\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k.1":[{"k.1":"v"}], "k.2":{"k.2":"v"}}
Value k1 = ValueFactory.newString("k_1");
Value k2 = ValueFactory.newString("k_2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k_1\":[{\"k_1\":\"v\"}],\"k_2\":{\"k_2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitArray_columnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$['json1']['k1'][1]\", src: \"$['json1']['k1'][0]\"}",
" - {name: \"$['json1']['k2'][0]\"}",
" - {name: \"$['json1']['k3'][0]['k3']\", type: string, default: v}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":[{"k1":"v"},"v"],"k2":["v","v"]}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v), v),
k2, ValueFactory.newArray(v, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":[{\"k1\":\"v\"}],\"k2\":[\"v\"],\"k3\":[{\"k3\":\"v\"}]}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_Columns()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: $.json1.k1}",
" - {name: $.json1.k2.k2}",
" - {name: $.json1.k3.k3, type: string, default: v}",
" - {name: $.json1.k4, src: $.json1.k2}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k1":"v","k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{\"k1\":\"v\"},\"k2\":{\"k2\":\"v\"},\"k3\":{\"k3\":\"v\"},\"k4\":{\"k2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_DropColumns()
{
PluginTask task = taskFromYamlString(
"type: column",
"drop_columns:",
" - {name: $.json1.k1.k1}",
" - {name: $.json1.k2}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_addColumnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"add_columns:",
" - {name: \"$['json1']['k3']['k3']\", type: string, default: v}",
" - {name: \"$['json1']['k4']\", src: \"$['json1']['k2']\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{\"k1\":\"v\"},\"k2\":{\"k2\":\"v\"},\"k3\":{\"k3\":\"v\"},\"k4\":{\"k2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_AddColumns()
{
PluginTask task = taskFromYamlString(
"type: column",
"add_columns:",
" - {name: $.json1.k3.k3, type: string, default: v}",
" - {name: $.json1.k4, src: $.json1.k2}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{\"k1\":\"v\"},\"k2\":{\"k2\":\"v\"},\"k3\":{\"k3\":\"v\"},\"k4\":{\"k2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitMap_dropColumnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"drop_columns:",
" - {name: \"$['json1']['k1']['k1']\"}",
" - {name: \"$['json1']['k2']\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":{"k1":"v"},"k2":{"k2":"v"}}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newMap(k1, v),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":{}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitArray_dropColumnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"drop_columns:",
" - {name: \"$['json1']['k1'][0]['k1']\"}",
" - {name: \"$['json1']['k2'][*]\"}"); // ending with [*] is allowed for drop_columns, but not for others
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":[{"k1":"v"}[,"k2":["v","v"]}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newArray(v, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":[{}],\"k2\":[]}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitArray_addColumnsUsingBracketNotation()
{
PluginTask task = taskFromYamlString(
"type: column",
"add_columns:",
" - {name: \"$['json1']['k1'][1]\", src: \"$['json1']['k1'][0]\"}",
" - {name: \"$['json1']['k3'][0]['k3']\", type: string, default: v}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":[{"k1":"v"}],"k2":["v","v"]}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newArray(v, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":[{\"k1\":\"v\"},{\"k1\":\"v\"}],\"k2\":[\"v\",\"v\"],\"k3\":[{\"k3\":\"v\"}]}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visit_withSingleQuotesAndDoubleQuotes()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$['json1']['k_1']\", src: \"$['json1']['k.1']\"}",
" - {name: '$[\"json1\"][\"k_1\"][0][\"k_1\"]', src: '$[\"json1\"][\"k_1\"][0][\"k.1\"]'}",
" - {name: '$[\"json1\"][\"k_2\"]', src: '$[\"json1\"][\"k.2\"]'}",
" - {name: '$[\"json1\"][\"k_2\"][\"k_2\"]', src: '$[\"json1\"][\"k_2\"][\"k.2\"]'}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k.1":[{"k.1":"v"}], "k.2":{"k.2":"v"}}
Value k1 = ValueFactory.newString("k.1");
Value k2 = ValueFactory.newString("k.2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k_1\":[{\"k_1\":\"v\"}],\"k_2\":{\"k_2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visit_withComplexRename()
{
PluginTask task = taskFromYamlString(
"type: column",
"columns:",
" - {name: \"$.json1['k____1']\", src: \"$.json1['k.-=+1']\"}",
" - {name: \"$.json1['k____1'][0]['k____1']\", src: \"$.json1['k____1'][0]['k.-=+1']\"}",
" - {name: \"$['json1']['k_2']\", src: \"$['json1']['k.2']\"}",
" - {name: \"$['json1']['k_2']['k_2']\", src: \"$['json1']['k_2']['k.2']\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k.1":[{"k.1":"v"}], "k.2":{"k.2":"v"}}
Value k1 = ValueFactory.newString("k.-=+1");
Value k2 = ValueFactory.newString("k.2");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newMap(k2, v));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k____1\":[{\"k____1\":\"v\"}],\"k_2\":{\"k_2\":\"v\"}}", visited.toString());
}
代码示例来源:origin: sonots/embulk-filter-column
@Test
public void visitArray_DropColumns()
{
PluginTask task = taskFromYamlString(
"type: column",
"drop_columns:",
" - {name: \"$.json1.k1[0].k1\"}",
" - {name: \"$.json1.k2[*]\"}", // ending with [*] is allowed for drop_columns, but not for others
" - {name: \"$.json1.k3[*].k1\"}");
Schema inputSchema = Schema.builder()
.add("json1", JSON)
.add("json2", JSON)
.build();
JsonVisitor subject = jsonVisitor(task, inputSchema);
// {"k1":[{"k1":"v"}],"k2":["v","v"],"k3":[{"k3":"v"}]}
Value k1 = ValueFactory.newString("k1");
Value k2 = ValueFactory.newString("k2");
Value k3 = ValueFactory.newString("k3");
Value v = ValueFactory.newString("v");
Value map = ValueFactory.newMap(
k1, ValueFactory.newArray(ValueFactory.newMap(k1, v)),
k2, ValueFactory.newArray(v, v),
k3, ValueFactory.newArray(ValueFactory.newMap(k1, v)));
MapValue visited = subject.visit("$['json1']", map).asMapValue();
assertEquals("{\"k1\":[{}],\"k2\":[],\"k3\":[{}]}", visited.toString());
}
内容来源于网络,如有侵权,请联系作者删除!