json 属性的简单着色

json 属性的简单着色

有人能解释一下如何为列表中的 json 字符串着色吗?举个例子就好了。谢谢。

示例字符串:{"name1":"attribute1","name2":"attribute2"}。如何使字符串“name1”和“name2”显示为蓝色?

我尝试过解决方案 我如何突出显示 JSON 字符串值但不突出显示属性?但这强调的是价值而不是属性。

答案1

有一个技巧:突出显示除冒号后面的字符串之外的所有字符串。

\documentclass{article}
\usepackage{listings,xcolor}
\begin{document}

\lstset{
    string=[s]{"}{"},
    stringstyle=\color{blue},
    comment=[l]{:},
    commentstyle=\color{black},
}
\begin{lstlisting}
{
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 25,
  "height_cm": 167.6,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    }
  ]
}
\end{lstlisting}

\end{document}

PS:在内部,以下方面stringscommentsescapestylelanguagekeywordslabelslineshapeframes、被视为同等对待。如果您需要emph/对于实际的字符串/注释,您可以自行添加处理属性和值的方面。indexstringcomment

相关内容