Forum Discussion

Bessonnizza's avatar
Bessonnizza
Helper II
6 years ago
Solved

Json.FromValue

Hello there,

 

I want to write POST request with data for WEB service. I try to use Json.FromValue function to convert to JSON, but it isn't working.

 

JSON data schema:

 

My POST request:

 

data = Json.FromValue([Begin=ХХХХХХХ, End=ХХХХХХХ, ObjectTypeId=ХХХХХХХ, ObjectId=ХХХХХХХ]),
headers = [#"accept"="*/*", #"ScoutAuthorization"=paramAuthorizationId, #"Content-Type"="application/json"],
web = Web.Contents("http://url", [ Content = data, Headers = headers, ManualStatusHandling = {404, 400}]),
result = Json.Document(web)

 

 

What i'm doing wrong? How can i pass nested values? 

  • ImkeF  yes, Json.FromValue works.

     

     

    data = Json.FromValue([ Period = [ Begin = paramBegin , End = paramEnd ],TargetObject = [ ObjectId = paramObjectId ,ObjectTypeId = paramObjectTypeId ]])

     

17 Replies

  • You want to use Json.Document instead and craft your Json structure manually. Don't think schemas are supported.

     

    data = Json.Document("{Period:{Begin:""begin"",End:""End""},TargetObject:{ObjectId:""ObjectId"",ObjectTypeId:""ObjectTypeId""}}")
    • Bessonnizza's avatar
      Bessonnizza
      Helper II

      Does Parameters works in you case? For example

       

      data = Json.Document("{Period:{Begin:"paramBegin",End:"paramEnd"}
      • lbendlin's avatar
        lbendlin
        Super User

        Yes, it would work

         

         

         

        data = Json.Document("{Period:{Begin:""" & paramBegin & """,End:""" & paramEnd & """},TargetObject:{ObjectId:""" & paramObjectId & """,ObjectTypeId:""" & paramObjectTypeId & """}}")

         

         

        Don't lose any sleep  (pun intended) over the double quotes - they are all needed.