gpt4 book ai didi

java - 在消息包中,从 MapValue 获取值时出错。请帮助我

转载 作者:行者123 更新时间:2023-12-04 04:47:19 26 4
gpt4 key购买 nike

我正在尝试使用 messagpack.write(map) 序列化 map .在使用 messagepack.read(byte[]) 进行反序列化期间我得到了MapValue .但我无法使用 MapValue.get(key) 获取值.看下面这个问题

  HashMap<Object,Object> map = new HashMap<Object, Object>();
map.put(1,"ONE");
map.put("ONE","TWO");
MessagePack m= new MessagePack();
byte[] b = m.write(map);
MessagePack m1 = new MessagePack();
MapValue value = (MapValue)m1.read(b);
System.out.println(value);// here I am getting {1:"ONE",2:"TWO"}

System.out.println( value.get(1)); // printing the value for key 1. I am getting null.

请对此提供帮助。谢谢。

瑙萨德

最佳答案

您需要使用 ValueFactory 并转换键以使用 Value 接口(interface)。这不是很直观

// instead of value.get(1) use following
System.out.println(value.get(ValueFactory.createIntegerValue(1)));

// if the key would be a String use:
System.out.println(value.get(ValueFactory.createRawValue("key")));

关于java - 在消息包中,从 MapValue 获取值时出错。请帮助我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com