我真的很感激任何帮助。 我想将这个列表将列表转换为Erlang中的JSON对象(mochijson)
[[{id1,1},{id2,2},{id3,3},{id4,4}],[{id1,5},{id2,6},{id3,7},{id4,8}],[...]]
到一个JSON对象。 需要一些灵感:) 请帮忙。
谢谢。
我真的很感激任何帮助。 我想将这个列表将列表转换为Erlang中的JSON对象(mochijson)
[[{id1,1},{id2,2},{id3,3},{id4,4}],[{id1,5},{id2,6},{id3,7},{id4,8}],[...]]
到一个JSON对象。 需要一些灵感:) 请帮忙。
谢谢。
既然你问了灵感,我能想象,两个方向可以采取
您可以编写代码,以手的角色你自己的JSON,如果你需要的是足够的谦虚,可以是一个非常轻重量和适当的解决方案。这将是非常简单的Erlang采取一个数据结构并将其转换为JSON。 “{\”id2 \“:2},{\”id3 \“:3},{\”id4 \“:4}],[{ \“id1 \”:5},{\“id3 \”:7},{\“id4 \”:8}]]“
您可以生成一个数据 - mochiweb的mochijson编码/ 1和解码/ 1可以处理的结构。我把你的清单和手工编码给JSON,得到:
X =“[[{\”id1 \“:1},{\”id2 \“:2},{\”id3 \“:3 },{\ “ID4 \”:4}],[{\ “ID1 \”:5},{\ “ID2 \”:6},{\ “ID3 \”:7},{\ “ID4 \” :8}]]”。
然后我用mochison:decode(X)来看看mochiweb用什么结构来表示JSON(懒得看文档)。
Y = mochijson:decode(X).
{array,[{array,[{struct,[{"id1",1}]},
{struct,[{"id2",2}]},
{struct,[{"id3",3}]},
{struct,[{"id4",4}]}]},
{array,[{struct,[{"id1",5}]},
{struct,[{"id2",6}]},
{struct,[{"id3",7}]},
{struct,[{"id4",8}]}]}]}
所以,如果你可以创建这个稍微复杂的数据结构,你正在使用的一个,那么你可以通过使用mochijson的JSON:编码/ 1。下面是一个在io:format语句中嵌入的示例,以便将其打印为字符串 - 通常,您将使用io_lib:format/X,具体取决于您的应用程序。
io:format("~s~n",[mochijson:encode(Y)]).
[[{"id1":1},{"id2":2},{"id3":3},{"id4":4}],[{"id1":5},{"id2":6},{"id3":7},{"id4":8}]]
谢谢。现在你让我思考。这个数组表示实际上是一个vild JSON文档吗?在我看来,X实际上是几个文件的代表,或者我错了吗? – Andreas 2011-12-23 19:53:21
我相信X是有效的Json,据我所知它是语法(http://www.json.org/),Json可以嵌套 – Jr0 2011-12-23 22:15:44
http://www.json.org有一个语法的可视化版本,它是真正的明确。但是,Json对象绝对可以包含Json对象,就像XML可以包含XML一样 – Jr0 2011-12-23 22:26:41