构造json数组

构造json数组,json,post,erlang,ejabberd,Json,Post,Erlang,Ejabberd,我正试图启动一个httpc请求 httpc:request(post, {Baseurl,[{"Authorization",ApiKey2}],<<"application/json">>,Body},[],[]). 它给我的错误如下:- mod_gcm_apns:send_gcm_msg(“GJHGHJ”) 尝试了很多,但没有找到解决方案 按照mdaguete的建议进行更改后 % Create Json struct Body = lists:flatten(m

我正试图启动一个httpc请求

httpc:request(post, {Baseurl,[{"Authorization",ApiKey2}],<<"application/json">>,Body},[],[]).
它给我的错误如下:- mod_gcm_apns:send_gcm_msg(“GJHGHJ”)

尝试了很多,但没有找到解决方案

按照mdaguete的建议进行更改后

% Create Json struct
  Body = lists:flatten(mochijson2:encode(
{struct,[
{<<"registration_ids">>,[<<"APA91bE445JOlMvdShgQAJIxuDcBQos7olZi82lWQ82W9HHTR0uxOILvDYo9F5827BhU0qpBi9xpBqN1BNciWogiWxenI7_au7Z42o6eqcFSkoAs-0tVJzVG3lju54PXRyVS1tmZNhjsQDCYwnHJH6m6j6h1vSPBZl6lt3j8tu44Euq3PyISKBM">>]},
 {<<"data">>,[
  {struct, [
      {<<"message">>,<<"HGHJG">>}
      ]}
     ]}
]})),
但它给出了以下错误:

{error,{"HTTP/1.1",
    "JSON_PARSING_ERROR: Unexpected token END OF FILE at position 27.\n"}}

请提出解决方案。

通常解决问题的最好、最快的方法是阅读文档

您使用的是Bob Ippolito提供的卓越的mochijson2库,如果您编写了头文件,则可以读取正确的格式,以erlang术语表示json

json的正确格式可能是(您没有解释预期的结果):

{struct[
{,[]},
{,[
{struct[
{,}
]}
]}
]}
注意。

车身变量:-

Body = lists:flatten(mochijson2:encode(
{ struct,[
{ registration_ids,
                   ['KEY']},
{ data,[{
           message,[Message]
}

这是与Google GCM API一起使用的最后一个JSON数据包。

@emil:-不,我们基本上需要将JSON数组发送到Google API,这就是我们编码的原因。请参考编辑后的问题。我仍然收到一些错误。感谢您的帮助
mod_gcm2:send_gcm_msg("JKJ").
{error,{"HTTP/1.1",
    "JSON_PARSING_ERROR: Unexpected token END OF FILE at position 27.\n"}}
{struct,[
 {<<"registration_ids">>,[<<"APA91bE445JOlMvdShgQAJIxuDcBQos7olZi82lWQ82W9HHTR0uxOILvDYo9F5827BhU0qpBi9xpBqN1BNciWogiWxenI7_au7Z42o6eqcFSkoAs-0tVJzVG3lju54PXRyVS1tmZNhjsQDCYwnHJH6m6j6h1vSPBZl6lt3j8tu44Euq3PyISKBM">>]},
 {<<"data">>,[
      {struct, [
          {<<"message">>,<<"HGHJG">>}
      ]}
 ]}
]}
Body = lists:flatten(mochijson2:encode(
{ struct,[
{ registration_ids,
                   ['KEY']},
{ data,[{
           message,[Message]
}