Dav*_*ann 4 grails groovy json
我有一个json对象,它被传递给一个保存函数
{
"markings": {
"headMarkings": "Brindle",
"leftForeMarkings": "",
"rightForeMarkings": "sock",
"leftHindMarkings": "sock",
"rightHindMarkings": "",
"otherMarkings": ""
}
Run Code Online (Sandbox Code Playgroud)
**编辑**
系统解析它并将其作为映射传递给我的函数.我实际上并没有JSON,虽然自己构建JSON并不困难,但它看起来有点过分
*结束编辑**
该toString()函数最终将结果放入数据库中
"[rightForeMarkings:, otherMarkings:, leftForeMarkings:sock, leftHindMarkings:sock, rightHindMarkings:, headMarkings:brindle]"
Run Code Online (Sandbox Code Playgroud)
然后我想通过调用将其保存为字符串(相当简单)
params.markings.toString()
Run Code Online (Sandbox Code Playgroud)
从这里,我保存信息并返回更新的信息.
我的问题是,因为我将对象作为字符串存储在数据库中,所以我似乎无法将标记作为映射返回(然后转换为JSON).
我尝试了一些不同的东西但无济于事,尽管我完全有可能在这些方面做错了...
Eval.me(Item.markings)
evaluate(Item.markings)
Item.markings.toList()
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
如果我理解正确的话,你想将 String 转换为 JSON 对象吗?实际上,您可以绕过将其转换为映射,并将其直接解析为 JSON 对象:
import grails.converters.JSON
def json = JSON.parse(Item.markings)
Run Code Online (Sandbox Code Playgroud)
这将为您提供整个 JSON 对象,然后您可以像引用地图一样引用这些值。
扔我的考试.
在Grails中使用JSON转换器,我认为这应该是方法:( @JamesKleeh和@GrailsGuy的同义词)
def json = '''{
"markings": {
"headMarkings": "Brindle",
"leftForeMarkings": "",
"rightForeMarkings": "sock",
"leftHindMarkings": "sock",
"rightHindMarkings": "",
"otherMarkings": ""
}
}'''
def jsonObj = grails.converters.JSON.parse(json)
//This is your JSON object that should be passed in to the method
print jsonObj //[markings:[rightForeMarkings:sock, otherMarkings:, leftForeMarkings:, leftHindMarkings:sock, rightHindMarkings:, headMarkings:Brindle]]
def jsonStr = jsonObj.toString()
//This is the string which should be persisted in db
assert jsonStr == '{"markings":{"rightForeMarkings":"sock","otherMarkings":"","leftForeMarkings":"","leftHindMarkings":"sock","rightHindMarkings":"","headMarkings":"Brindle"}}'
//Get back json obj from json str
def getBackJsobObj = grails.converters.JSON.parse(jsonStr)
assert getBackJsobObj.markings.leftHindMarkings == 'sock'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16785 次 |
| 最近记录: |