Dear All Expert,
I want to Sales Invoice List page data export in json format through webservice. But version is Nav 2009.
Regards,
Jeet patadiya
*This post is locked for comments
Jeet,
You can try this function to convert to JSON
PROCEDURE ConvertToJson@1240060005(VAR TempBlob@1240060000 : Record 99008535);
VAR
XmlDocument@1240060003 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";
JsonConvert@1240060002 : DotNet "'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.Newtonsoft.Json.JsonConvert";
JsonText@1240060001 : Text;
JsonFormatting@1240060004 : DotNet "'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.Newtonsoft.Json.Formatting";
InStr@1240060005 : InStream;
OutStr@1240060006 : OutStream;
BEGIN
TempBlob.Blob.CREATEINSTREAM(InStr);
XmlDocument := XmlDocument.XmlDocument;
XmlDocument.Load(InStr);
JsonText := JsonConvert.SerializeXmlNode(XmlDocument.DocumentElement,JsonFormatting.Indented,TRUE);
TempBlob.INIT;
TempBlob.Blob.CREATEOUTSTREAM(OutStr,TEXTENCODING::UTF8);
OutStr.WRITETEXT(JsonText);
END;
But sir you have idea how to use json array in navision because invoice have multiple line.
With NAV 2009 you have SOAP web services with XML. If you have to publish NAV data for an external application and you require JSON, I suggest you to write a "middle tier" web service that retrieves data from NAV (using standard WS) and then return JSON to the caller application. The caller application will call your newly created WS and not the NAV WS directly.
Otherwise, you can create a codeunit that returns JSON as described here:
Sohail Ahmed
2
mmv
2
Amol Salvi
2