gpt4 book ai didi

java - 如何在jruby中将Java Map转换为json

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:59 25 4
gpt4 key购买 nike

我有一个 JRuby 中的 Java HashMap,我试图将它转换为 JSON,但它没有正确转换,我认为这个例子说明了问题:

$ irb                                                                            [17:23:50]
irb(main):001:0> require 'java'
=> false
irb(main):003:0> require 'json'
=> true
irb(main):005:0> h = java.util.HashMap.new()
=> {}
irb(main):006:0> x = {}
=> {}
irb(main):007:0> JSON.parse JSON.dump x
=> {}

irb(main):008:0> JSON.parse JSON.dump h
JSON::ParserError: unexpected token at '"{}"'
from json/ext/Parser.java:251:in `parse'
from /Users/kimptoc/.rvm/rubies/jruby-1.7.3/lib/ruby/1.9/json/common.rb:155:in `parse'
from (irb):9:in `evaluate'
from org/jruby/RubyKernel.java:1066:in `eval'
from org/jruby/RubyKernel.java:1409:in `loop'
from org/jruby/RubyKernel.java:1174:in `catch'
from org/jruby/RubyKernel.java:1174:in `catch'
from /Users/kimptoc/.rvm/rubies/jruby-1.7.3/bin/irb:13:in `(root)'
irb(main):010:0> JSON.dump h
=> "\"{}\""

关于如何处理这个问题的任何想法 - 我是否需要将 map 转换为 Ruby map ?

谢谢,克里斯

最佳答案

目前看来你是对的,json gem 不支持HashMap,所以唯一的方法确实是转换为 ruby​​:

> JSON.parse JSON.dump h.to_hash
=> {}

可能值得开一个ticket .

关于java - 如何在jruby中将Java Map转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16174722/

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