Fix/usage json entity escaping (#333)

* fix(usage): 修复 JSON 视图实体转义显示

* fix(usage): 解码 OpenAI 工具参数实体
This commit is contained in:
RWDai
2026-04-25 16:41:25 +08:00
committed by GitHub
parent bb7fe9fe37
commit b8205b5a09
3 changed files with 126 additions and 7 deletions
@@ -180,6 +180,8 @@ const escapeHtml = (str: string): string => {
.replace(/"/g, '"')
}
const jsonStringLiteral = (value: string): string => JSON.stringify(value)
const parseJsonToLines = (data: unknown): JsonLine[] => {
const result: JsonLine[] = []
let lineNumber = 1
@@ -222,7 +224,7 @@ const parseJsonToLines = (data: unknown): JsonLine[] => {
id: result.length,
lineNumber: lineNumber++,
indent,
html: keyPrefix + getTokenHtml(`"${escapeHtml(value)}"`, 'string') + comma,
html: keyPrefix + getTokenHtml(jsonStringLiteral(value), 'string') + comma,
canFold: false,
blockId: '',
})
@@ -294,7 +296,7 @@ const parseJsonToLines = (data: unknown): JsonLine[] => {
})
keys.forEach((key, i) => {
const keyHtml = getTokenHtml(`"${escapeHtml(key)}"`, 'key') + getTokenHtml(': ', 'punctuation')
const keyHtml = getTokenHtml(jsonStringLiteral(key), 'key') + getTokenHtml(': ', 'punctuation')
processValue(obj[key], indent + 1, i === keys.length - 1, keyHtml)
})