Write an object to an .json file using angular?

All we need is an easy explanation of the problem, so here it is.

I have an object like:

    [
        {
          "text" : "Address of Bowlers game center in Chennai?",
          "entities" : [
            {
              "entity" : "action",
              "value" : "business"
            },
            {
              "entity" : "intent",
              "value" : "fetchItems"
            },
            {
              "entity" : "bizCategory",
              "value" : "bowling",
              "start" : 11,
              "end" : 30
            },
            {
              "entity" : "wit$location",
              "value" : "Chennai",
              "start" : 34,
              "end" : 40
            }
          ]
        },
        {
          .....more objects
        }
]

Now I have to do some manipulation on this object and save the manipulated object into an .json file using angular js.

var originalObject = $http.get("data/chennai.json");
var manipuatedObject;  // this is the manipulated object i get after applying some changes on originatalObject.

Now how can I save this manipuatedObject into an json file.

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

Try this:

function saveText(text, filename){
  var a = document.createElement('a');
  a.setAttribute('href', 'data:text/plain;charset=utf-u,'+encodeURIComponent(text));
  a.setAttribute('download', filename);
  a.click()
}

So a possible use might be:

var obj = {a: "Hello", b: "World");
saveText( JSON.stringify(obj), "filename.json" );

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply