JSONSource is a custom source component developed for Microsoft Integration Services, compatible with MS SQL Server 2012/2014/2016. The goal of this component is to allow the developer to integrate JSON datasources into his ETL projects.
Among the major features of JSONSource, there are:
![]() |
ZappySys is community sponsor of this open source project. I maintain this project in my free time. If you are looking for commercial component with professional support then check out SSIS PowerPack. It comes with many components for JSON/REST API Integration including Advanced JSON Source with File/REST API support |
JSONSource supports different kinds of data sources: it can be either used for parsing a text file on the disk or directly download the json file, by performing. Beside, the developer can specify a variable holding the HTTP URL or the physical disk path to the json data.
When dealing with webservices or standard http pages, json source is capable of executing the most common HTTP requests type, such as GET/POST/PUT/DELETE. Moreover HTTP requests parameters are supported, so the developer can perform complex actions with a webservice. Login via access tokes are then supported, simply perform a login request and save the token into a variable, then perform next queries using that variable as query parameter!
The mapping table is a grid that defines which object fields to take into account and how to interpret them: for each object-field the developer has to specify an output column name and an output data type. Although this component supports both array of objects and simple objects, some more complex operation is possible thanks to the magic of JsonPath. Indeed, the developer can specify very complex query to get almost any combination of data out of the datasource!
To install this component the developer can easily use the custom installer, which will automatically detect every compatible MSSQL installation and will ask where to install the feature. However, the stand-alone dll is also given, for expert users.
I'm continuously listening to users feedbacks. The following are some points I want to implement in future releases of the software. Due to small time I have to dedicate to this project I cannot state precisely when those features will be implemented. However, if you have any other idea or if you want to tell which feature would be better to implement first, feel free to vote it on the discussion section.
ALREADY IMPLEMENTED
PROGRAMMED FOR NEXT RELEASE
PROGRAMMED NEXT...
If some of these upcoming features are of your interest, open a discussion so I can add it as work item for future release. The more people let me know what they need, the better I can prioritize features implementation.
Basically my time is limited. However you may contact me in private and I might be able to help you somehow. Of course donation may be a great incentive to speed up feature implementation!
I'm an university student, attending my last year in Computer Science. My time
is pretty limited due to the amount of work I face for writing my thesis. I usually code on Friday-Saturday nights, when nobody is up for a beer. So, if I've saved your time and you like the component, why don't buy me a beer? As a developer you know
how long it takes to get a stable and working product, so buying a beer would be a great way to thank me!
At the moment I am finishing my studies, but I am totally open to job offer or part-time collaborations. So far I've got in touch with many different aspects of IT: that makes me a very versatile asset. Why don't you have a look at my LI profile?
If you are using this component and you like it, please rate it so others will try it as well. Your opinion is important for me and for other users!