I have a variable with huge data some thing like this.
$scope.employees = [ {"firstName":"John", "lastName":"Doe", "city": "Bangalore","State":karnataka,}, {"firstName":"Anna", "lastName":"Smith", "city": "Hyderabad","State":AndraPradesh,}, {"firstName":"Peter", "lastName": "Jones", "city": "Mumbai","State":Maharastra,}, ];
I want to save it to JSON file, when I click a button or something.
$scope.employees is the object to be saved to a file
$scope.savedJSON = angular.toJson($scope.employees,true); var blob = new Blob([$scope.savedJSON],{ type: "application/json;charset=utf-8;" }); var downloadLink = document.createElement('a'); downloadLink.setAttribute('download', 'sampleJSON.txt'); downloadLink.setAttribute('href', window.URL.createObjectURL(blob)); downloadLink.click();
angular.toJson should help you out.
var app = angular.module('myApp', []); app.controller('MainCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.employees = [ {"firstName":"John", "lastName":"Doe", "city": "Bangalore","State":karnataka,}, {"firstName":"Anna", "lastName":"Smith", "city": "Hyderabad","State":AndraPradesh,}, {"firstName":"Peter", "lastName": "Jones", "city": "Mumbai","State":Maharastra,}, ]; $scope.savedJSON = ''; $scope.save = function () { $scope.savedJSON = angular.toJson($filter('filter')($scope.employees, $scope.searchText)); }; }]); var blob = new Blob([scope.save],{ type: "application/json;charset=utf-8;" }); downloadLink.attr('href', window.URL.createObjectURL(blob));