当前位置:  开发笔记 > 编程语言 > 正文

在Erlang中解析JSON

如何解决《在Erlang中解析JSON》经验,为你挑选了1个好方法。

我有一段JSON字符串,我想在Erlang中解析.看起来像:

({ id1 : ["str1", "str2", "str3"], id2 : ["str4", "str5"]})

我查看了mochijson2和其他几个JSON解析器,但我真的无法弄清楚如何做到这一点.任何帮助非常感谢!



1> legoscia..:

我曾经使用过erlang-json-eep-parser,并对你的数据进行了尝试.

7> json_eep:json_to_term("({ id1 : [\"str1\", \"str2\", \"str3\"], id2 : [\"str4\", \"str5\"]})").
** exception error: no match of right hand side value 
                    {error,{1,json_lex2,{illegal,"("}},1}
     in function  json_eep:json_to_term/1

对,它不喜欢括号.

8> json_eep:json_to_term("{ id1 : [\"str1\", \"str2\", \"str3\"], id2 : [\"str4\", \"str5\"]}").
** exception error: no match of right hand side value 
                    {error,{1,json_lex2,{illegal,"i"}},1}
     in function  json_eep:json_to_term/1

它不喜欢不带引号的键:

18> json_eep:json_to_term("{ \"id1\" : [\"str1\", \"str2\", \"str3\"], \"id2\" : [\"str4\", \"str5\"]}").
{[{<<"id1">>,[<<"str1">>,<<"str2">>,<<"str3">>]},
  {<<"id2">>,[<<"str4">>,<<"str5">>]}]}

那看起来更好.

所以看起来你的数据几乎就是JSON,至少就这个解析器而言.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有