MarkLogic fn.string将JSON数组转换为String,但是String显示\“ :(双引号)。如何不显示该\”

使用fn.string在MarkLogic中将JSON数组转换为JSON字符串后,如何不显示\“(双引号)?

尝试xdmp.unquote / quote ....其他方法,但不起作用

我有这样的原始JSON数组: CityState:

session.query(Employee.name,Employee.hired_on,Department.name,Role.name)\
  .join(Department,Employee.department_id==Department.id)\
  .join(Role,Employee.role_id==Role.role_id)\
  .all()

fn.string(CityState)变为:

“ [{{\” city \“:\”纽华克\“,\”州\“:\” NJ \“},{\”城市\“:\”布鲁克林\“,\”州\“: \“ NY \”},{\“ city \”:\“洛杉矶\”,\“州\”:\“ CA \”}]“

cozf123456 回答:MarkLogic fn.string将JSON数组转换为String,但是String显示\“ :(双引号)。如何不显示该\”

我设法使用fn.replace()删除了双引号。格式看起来很完美!

案例已关闭。

,

最好避免需要转换字符串。特别是,如果JSON包含带有转义字符的字符串属性,则转换可能会有风险。

xdmp.quote()和xdmp.toJsonString()函数用于序列化JSON。根据typeof,以下内容似乎会发出有效的字符串:

xdmp.quote(xdmp.toJSON([
{
    "city": "Newark","state": "NJ"
},{
    "city": "Brooklyn","state": "NY"
},{
    "city": "Los Angeles","state": "CA"
}
]))

您遇到了什么问题?

,

感谢您的见识!我尝试在Data Hub中映射该数组。实体是这样的:           “诊断”:{           “ datatype”:“ array”,           “项目”:{             “ $ ref”:“#/ definitions / CityState”           }         }       }     },     “市,州” : {       “必填”:[],       “ pii”:[],       “ elementRangeIndex”:[],       “ rangeIndex”:[],       “ wordLexicon”:[],       “属性”:{         “城市”:{           “ datatype”:“ string”,           “归类”:“ http://marklogic.com/collation/codepoint”         },         “状态”:{           “ datatype”:“ string”,           “归类”:“ http://marklogic.com/collation/codepoint”         }       }

但是Data Hub中的TDE无法提取“诊断”的信息。 (所有其他属性均已映射,没有问题)。我尝试手动映射数组,但是没有用。

将数组转换为字符串后,数据中心中的TDE立即反映出“诊断”的字符串值。

本文链接:https://www.f2er.com/3140899.html

大家都在问