有人能解释一下如何为列表中的 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:在内部,以下方面strings
、comments
、escape
、style
、language
、keywords
、labels
、lineshape
、frames
、被视为同等对待。如果您需要emph
/对于实际的字符串/注释,您可以自行添加处理属性和值的方面。index
string
comment