Add debug char dump around JSON parse failure position
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
945ab6a919
commit
1ca958d11f
1 changed files with 8 additions and 1 deletions
|
|
@ -2250,11 +2250,18 @@
|
|||
<cfset javaMap = objectMapper.readValue(responseText, createObject("java", "java.util.LinkedHashMap").getClass())>
|
||||
<cfset menuData = deserializeJSON(objectMapper.writeValueAsString(javaMap))>
|
||||
<cfcatch type="any">
|
||||
<!--- Both parsers failed --->
|
||||
<!--- Both parsers failed — dump area around error --->
|
||||
<cfset response["success"] = false>
|
||||
<cfset response["error"] = "JSON parse error: #cfcatch.message#">
|
||||
<cfset response["DEBUG_RAW_RESPONSE"] = left(responseText, 2000)>
|
||||
<cfset response["DEBUG_RESPONSE_LENGTH"] = len(responseText)>
|
||||
<cfset response["DEBUG_AROUND_24600"] = mid(responseText, 24500, 300)>
|
||||
<cfset response["DEBUG_CHAR_CODES"] = "">
|
||||
<cfloop from="24640" to="24660" index="ci">
|
||||
<cfif ci LTE len(responseText)>
|
||||
<cfset response["DEBUG_CHAR_CODES"] = response["DEBUG_CHAR_CODES"] & ci & "=" & asc(mid(responseText, ci, 1)) & " ">
|
||||
</cfif>
|
||||
</cfloop>
|
||||
<cfcontent type="application/json" reset="true">
|
||||
<cfoutput>#serializeJSON(response)#</cfoutput>
|
||||
<cfabort>
|
||||
|
|
|
|||
Reference in a new issue