テンプレート処理中にエラーが発生しました。
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 2:
Encountered ")", but was expecting one of:
    <STRING_LITERAL>
    <RAW_STRING>
    "false"
    "true"
    <INTEGER>
    <DECIMAL>
    "."
    "+"
    "-"
    "!"
    "["
    "("
    "{"
    <ID>
---end-message---

The failing expression:
==> contentJsonString?eval  [in template "20101#20128#34150" at line 27, column 31]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: contentJson = contentJsonString?eval  [in template "20101#20128#34150" at line 27, column 17]
	- Reached through: #assign-container  [in template "20101#20128#34150" at line 10, column 9]
----
1<span class="new-entry-title">新着記事</span> 
2<div class="blog-new-entry-main-area"> 
3<#assign dateFormat = "yyyy.MMM.dd" /> 
4<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
5<#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService")> 
6<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
7<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
8 
9<#list entries as entry> 
10	<#assign 
11		entry = entry 
12 
13		assetRenderer = entry.getAssetRenderer() 
14 
15		entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
16 
17		viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
18 
19		categoryList = assetCategoryLocalService.getAssetEntryAssetCategories(entry.getEntryId()) 
20		category = categoryList[0] 
21		cardTitle = assetCategoryPropertyLocalService.getCategoryProperty(category.getCategoryId(), 'card-title').getValue() 
22 
23		oldestJournalArticle = journalArticleLocalService.getOldestArticle(groupId, assetRenderer.getArticle().getArticleId()) 
24		journalArticle = assetRenderer.getArticle() 
25		docXml = saxReaderUtil.read(journalArticle.getContent()) 
26		contentJsonString = value_of(docXml, "blogImage", languageUtil.getLanguageId(locale)) 
27		contentJson = contentJsonString?eval 
28		imageFile = dlFileEntryLocalService.getFileEntry(contentJson.fileEntryId?number) 
29		imageURL = themeDisplay.getPortalURL() + "/documents" + "/" + imageFile.getRepositoryId() + "/" + imageFile.getFolderId() + "/" + imageFile.getFileName() 
30	/> 
31 
32	<div class="new-blog-entry"> 
33    		<a href="${viewURL}" class="card-link"> 
34    	      <img class="blog-image" src="${imageURL}"/> 
35    	      <div class="category-card ${cardTitle}"> 
36 
37    	          <span class="category-name">${cardTitle}</span> 
38    	      </div> 
39    	    </a> 
40    	  <div class="new-blog-title"> 
41    		<h3> 
42    			<a href="${viewURL}"> 
43    				${entryTitle} 
44    			</a> 
45    		</h3> 
46          </div> 
47          <div class="new-blog-summary"> 
48              ${htmlUtil.escape(assetRenderer.getSummary(renderRequest, renderResponse))} 
49          </div> 
50          <div class="new-blog-metadata"> 
51              <span class="new-blog-author">${htmlUtil.escape(portalUtil.getUserName(oldestJournalArticle.getUserId(), assetRenderer.getUserName()))}</span> 
52              <span class="new-blog-publish-date">${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}</span> 
53          </div> 
54 
55	</div> 
56</#list> 
57</div> 
58 
59<#function value_of docXml field languageId> 
60    <#local defaultLanguageId = docXml.valueOf("/root/@default-locale") /> 
61    <#local value = docXml.valueOf("//dynamic-element[@name='" + field + "']/dynamic-content[@language-id='"+ languageId + "']/text()") /> 
62    <#if !value?has_content> 
63        <#local value = docXml.valueOf("//dynamic-element[@name='" + field + "']/dynamic-content[@language-id='"+ defaultLanguageId + "']/text()") /> 
64    </#if> 
65    <#return value /> 
66</#function> 

RANKING
2021.1.08
2020.12.28
2020.12.01
2020.12.18
2020.10.30