如何恢复facet的搜索portlet配置json?

如何恢复facet的搜索portlet配置json?,json,liferay,Json,Liferay,我们已经用新的facets更新了SearchPortlet配置facets配置json。其目的是通过将下面的json添加到现有的配置json中来显示具有给定文件扩展名集的文档和媒体文件。 我们引用了给定的链接以添加以下json: { “displayStyle”:“资产\单位条目”, “静态”:正确, “重量”:1.5, “订单”:“订单HITSDESC”, “数据”:{ “价值观”:[ “com.liferay.portlet.documentlibrary.model.DLFileEntry

我们已经用新的facets更新了SearchPortlet配置facets配置json。其目的是通过将下面的json添加到现有的配置json中来显示具有给定文件扩展名集的文档和媒体文件。 我们引用了给定的链接以添加以下json:

{
“displayStyle”:“资产\单位条目”,
“静态”:正确,
“重量”:1.5,
“订单”:“订单HITSDESC”,
“数据”:{
“价值观”:[
“com.liferay.portlet.documentlibrary.model.DLFileEntry”
],
“频率阈值”:0
},
“className”:“com.liferay.portal.kernel.search.facet.AssetEntriesFacet”,
“标签”:“资产类型”,
“fieldName”:“entryClassName”
},
{
“displayStyle”:“资产\单位条目”,
“静态”:正确,
“重量”:1.5,
“订单”:“订单HITSDESC”,
“数据”:{
“值”:[“bmp”、“gif”、“jpeg”、“jpg”、“odg”、“png”、“svg”],
“频率阈值”:0
},
“className”:“com.liferay.portal.kernel.search.facet.MultiValueFacet”,
“标签”:“图像”,
“字段名”:“扩展名”
}

它抛出下面的异常

org.json.JSONException: Expected a ',' or ']' at 4141 [character 1 line 138]
at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
at org.json.JSONArray.<init>(JSONArray.java:129)
at org.json.JSONTokener.nextValue(JSONTokener.java:366)
at org.json.JSONObject.<init>(JSONObject.java:212)
at org.json.JSONObject.<init>(JSONObject.java:314)
org.json.JSONException:在4141处应为“,”或“]”[字符1第138行]
位于org.json.JSONTokener.syntaxError(JSONTokener.java:433)
位于org.json.JSONArray(JSONArray.java:129)
位于org.json.JSONTokener.nextValue(JSONTokener.java:366)
位于org.json.JSONObject(JSONObject.java:212)
位于org.json.JSONObject(JSONObject.java:314)

现在,访问search portlet配置会抛出一个空白页。如何解决此问题?

在分析源代码时,目录
portal web\docroot\html\portlet\search
中的文件
configuration.jsp
会生成配置视图。 给定的代码

JSONObject searchConfigurationJSONObject = JSONFactoryUtil.createJSONObject(searchConfiguration); 
从中检索搜索配置

String searchConfiguration=portletPreferences.getValue(“searchConfiguration”,StringPool.BLANK)

因此,我们必须在添加的json开始之前,手动更新
portletpreferences
表中DB中的搜索配置,以使用缺少的
更新json。 如果有,请建议其他更清洁的方法来解决此问题