Groovy - 解析字符串化的JSON

时间:2017-04-27 11:53:04

标签: json groovy

我有一个字符串化的json看起来像这样:

{u'a': u'1', u'b': 2, u'c': 3 }

我试图将其解析为JSON对象。

我尝试使用以下代码JsonSlurper

    def jsonSlurper = new JsonSlurper()
    def object = jsonSlurper.parseText(param)

    object.a

但由于u

,它失败了
Caused by: groovy.json.JsonException: expecting '}' or ',' but got current char 'u' with an int value of 117

The current character read is 'u' with an int value of 117
expecting '}' or ',' but got current char 'u' with an int value of 117
line number 1
index number 1
{a': u'1', u'b': 2, u'c': 3}

我该如何解析这个字符串?

非常感谢

1 个答案:

答案 0 :(得分:0)

所以这看起来像有效的Python,而不是JSON。假设您控制了传递数据的Python程序,请在该程序中执行以下操作:

import json
json.dumps( {u'a': u'1', u'b': 2, u'c': 3 } )

如果您不控制Python,如果您从bash管道调用Groovy脚本,是否可以将以下步骤添加到管道中?

echo "{u'a': u'1', u'b': 2, u'c': 3 }" | python -c "import json, sys, fileinput; print json.dumps( eval( (open(sys.argv[1] ) if sys.argv[1:] else sys.stdin).read())) "

在上一种情况下,你可以从Groovy中调用那行Python ......

相关问题