Forum Discussion

musicbydannyd's avatar
musicbydannyd
Advocate IV
6 years ago
Solved

JSON from URL in Table Column?

I have simple 2 column table with an ID and URL. Basic structure of URL parts are:

Pasting one of the URLs into web browser does show data formatted as JSON and I can view the record(s) when creating a new query using Json.Document(Web.Contents("url")).

 

What I'm HOPING to acomplish is convert URL column to list of JSON record(s) associated with each ID. I've tried various combinations of column transfomations (Json.Document, Web.Contents, List.Transform, etc.), but am getting the dreaded "Formula.Firewall" error.

 

I know it's doable, but apparently my brain is still in quarantine.

 

TIA, Danny

  • Hi musicbydannyd ,

     

    Define a variable and then invoke custom function.

    M code may like this:

    (id as number) as table=>
    let
        Source = Table.FromRecords(Json.Document(Web.Contents("https://xxxxxxxx" &Number.ToText(id)&"xxxx"))[subjects])
    in
        Source

     

    Best Regards,
    Liang
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • V-lianl-msft's avatar
    V-lianl-msft
    Community Support

    Hi musicbydannyd ,

     

    Define a variable and then invoke custom function.

    M code may like this:

    (id as number) as table=>
    let
        Source = Table.FromRecords(Json.Document(Web.Contents("https://xxxxxxxx" &Number.ToText(id)&"xxxx"))[subjects])
    in
        Source

     

    Best Regards,
    Liang
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • musicbydannyd's avatar
      musicbydannyd
      Advocate IV

      V-lianl-msft, I was afraid there might be a custom function involved for this rookie... appreciate the example! 😁

       

      Let me do a little more research and I'll report back with a solution or more help.

       

      Thanks again all!

      DannyD

    • musicbydannyd's avatar
      musicbydannyd
      Advocate IV

      V-lianl-msft, unfortunately, I had to put this project on hold for a while. During my last attempt, I WAS able to successfully create a formula as you described, however was still getting the "Formula.Firewall" error when invoking. Thanks, Danny

    • SWiethorn's avatar
      SWiethorn
      Regular Visitor

      Liang,

      Please provide more context/explaination around your solution.
      I'm not understanding your answer.

      -S

  • Obviously this depends on the format of the actual JSON behind the URLs but you should just be able to expand the records that are returned from each Json.Document(Web.Contents(JSON))

     

    Maybe the column name JSON throws Power Query off?