Skip to main content

NAV 2013 & NAV 2013 R2 - How to - Use OData to Return OR Obtain a JSON Document.

Hi all,

In Previous post related to ODATA we saw how to publish and consume a Odata Web Services from NAV 2013 & 2013 R2.

Below are some link Related to Old Articles Published for Odata -
NAV RTC - Introduction to Web Services.
Introduction of ODATA Services In NAV 2013.
What is the ODATA?
Max. Page Size in ODATA Parameter
Consuming Output of ODATA - Part 1
How to Use OData to Return OR Obtain a Service Metadata (EDMX) Document

Today we will see how to Return / Obtain a JSON Document.

What is JSON?



JSON (JavaScript Object Notation) is a lightweight format that is used for data interchanging. It is also a subset of JavaScript's Object Notation (the way objects are built in JavaScript)

Think of it as an alternative to using XML for transferring data between software components.

JSON is built on two structures:

A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.

An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.

JSON Structure -


Example of JSON Format -

{
     "firstName": "Saurav",
     "lastName": "Dhyani",
     "address": {
         "streetAddress": "C-175, Block C",
         "city": "Noida",
         "state": "UP",
         "postalCode": 201301
     },
     "phoneNumbers": [
         "000 111-2222",
         "111 222-3333"
     ]
 }

Now we have a basic idea what is JSON Format, so let's see how my Odata Web Service can Return me data in this format.

The Example shown below is from NAV 2013 R2 and using a Page web Service. The Steps remain same for Query Web Services and in NAV 2013.

Create a Page Web Services for say Customer Card Page 21. 

*How to Create a Page Web Service.

For Getting data in JSON Format, Open Internet Explorer and type in URL in Below Format -

http://<Server>:<WebServicePort>/<ServerInstance>/OData/<web service>?$format=json

If Standard Installation, single company & with ODATA Web Service Name as NAVCustomers use -

http://localhost:7048/DynamicsNAV71/OData/NAVCustomers?$format=json

This generates a text file that contains metadata and data from the web service. You can open the file from the browser, or you can save it to disk as shown below.



If we open the Text file, the format will be like as we discussed above.



Remember -
The value of the format attribute must be lowercase: ?$format=json.

If you want to consume the web service as JSON-P, you can add the ?$callback=<callback function name> parameter.

I needed it and thought of sharing so that anyone else can use it, if required.

Regards,
Saurav Dhyani
www.sauravdhyani.com

Comments

  1. Hi,

    Saurav can you help me to genrate the Json file from Navision BC(On Premises)

    ReplyDelete
    Replies
    1. Its same URL as listed above.
      Do you have any specific issue.

      Delete

Post a Comment

Popular posts from this blog

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.