我正在尝试将JSON字符串从服务器传递到客户端,并且想用Freemarker对其进行操作。

来自服务器的json是:

"{\"0\":
{\"keyA\": 2896.42,\"keyB\": 5.682365615075204,\"keyC\": 1044018.3981740332},
\"1\":
{\"keyA\": 2896.73,\"keyB\": 5.683365542595956,\"keyC\": 1043386.221698152},
\"2\":
{\"keyA\": 2897.37,\"keyB\": 5.68536539763746,\"keyC\": 1044550.1489558858},
\"3\":
{\"keyA\": 2909.49,\"keyB\": 5.6803657600337,\"keyC\": 1053277.0319540345}}"


我在HTML中的免费标记:


$ {pj.0.keyA}

提供的错误是:

Encountered "0" at line 894, column 85 in blah/doc.htm.
Was expecting one of:
"false" ...
"true" ...
<LESS_THAN> ...
<LESS_THAN_EQUALS> ...
<ESCAPED_GT> ...
<ESCAPED_GTE> ...


为什么是这样?我尝试通过[0],[“ 0”]访问键“ 0”下的值。似乎没有任何作用。

有任何想法吗?

最佳答案

问题是,类似于哈希映射,freemarker需要一个字符串键。

因此我将\“ 0 \”更改为'a',并且效果很好。

谢谢

10-06 13:37