I haven't developed the module, will have to look at the code, but I
would expect to work for the array object, given it relies on libjansson
external library.
Maybe you can try with:
$avp(result1)="{\"a\":[{\"origin\":\"125.16.231.74\",\"Dest\":\"725.76.731.77\"}]}";
just to see if it works and there is no problem parsing that array, but
the problem is having an array as root object.
Cheers,
Daniel
On 26.04.17 07:51, vivek(a)advaitamtech.com wrote:
There are no error messages for the below test JSON object. Let me
give you a clear picture,
$avp(result1)="{\"origin\":\"125.16.231.74\",\"Dest\":\"725.76.731.77\"}"
--> Successfully parsed and result is recevied.
$avp(result1)="[{\"origin\":\"125.16.231.74\",\"Dest\":\"725.76.731.77\"}]";
--> No Error and no parsed result either.
$avp(result1)="{\"origin\":\"125.16.231.74\",\"Dest\":\"725.76.731.77\"},{\"origin\":\"225.26.231.24\",\"Dest\":\"225.26.231.27\"}";
--> Results in error.
ERROR: jansson [jansson_funcs.c:59]: janssonmod_get(): failed to
parse:
{"origin":"125.16.231.74","Dest":"725.76.731.77"},{"origin":"225.26.231.24","Dest":"225.26.231.27"}
ERROR: jansson [jansson_funcs.c:61]: janssonmod_get(): json error at
line 1: end of file expected near ','
$avp(result1)="[{\"origin\":\"125.16.231.74\",\"Dest\":\"725.76.731.77\"},{\"origin\":\"225.26.231.24\",\"Dest\":\"225.26.231.27\"}]"
--> No error. But no result either. GIves result as zero.
I understand that with "[ ]" , its the right JSON object. But api
doesnt give the parsed result.
Thanks,
Vivek.
-----Original Message-----
From: "Daniel-Constantin Mierla" <miconda(a)gmail.com>
Sent: Tuesday, 25 April, 2017 7:47pm
To: "Kamailio (SER) - Users Mailing List"
<sr-users(a)lists.kamailio.org>rg>, sr-users(a)lists.sip-router.org
Subject: Re: [SR-Users] JANSSON module not working for multiple JSON
objects
Hello,
On 25.04.17 15:57, vivek(a)advaitamtech.com wrote:
Hi All,
Am using JANSSON module to parse the JSON object I receive.
I tried using JSON module of kamailio. Since its giving error in
loading the module due to error"libjson-c.so.3: cannot open
shared object file: No such file or directory", I went ahead to
use JANSSON module.
JANSSON module is parsing the single JSON object perfectly. But
not parsing the multiple JSON objects.
JSON object am trying to parse:
$avp(result1)=
"[{"origin":"125.16.231.74","Dest":"725.76.731.77"},{"origin":"225.26.231.24","Dest":"225.26.231.27"}]"
JANSSON API used: jansson_get("origin", "$avp(result1)",
"$var(origin)");
Any suggestions will be really helpful.
are there any error messages?
Cheers,
Daniel
-- Daniel-Constantin Mierla
www.twitter.com/miconda --
www.linkedin.com/in/miconda Kamailio Advanced Training - May 22-24
(USA) -
www.asipto.com Kamailio World Conference - May 8-10, 2017 -
www.kamailioworld.com