Home > Net >  How to take a JSON content and return it in a wordpress function (php)?
How to take a JSON content and return it in a wordpress function (php)?

Time:05-15

I have a wordpress endpoint and I have some json data. Unfortunately I dont know how to return this json data in the function. I tried json_decode but it doesn't return anything. Then endpoint works. If I use json_encode it returns data, but also include linebreaks and stuff. The problem seems to be with the syntax as it is already a complete json what I have. How can I return something that is already in json syntax?

add_action('wp_ajax_nopriv_inboundCall', 'testFunction');
add_action('wp_ajax_inboundCall', 'testFunction');
 
function testFunction() {
    
    echo json_decode('{
        "testData": [
          {
            "_id": "1",
            "name": "testName1"
          },
          {
            "_id": "2",
            "name": "testName2"
          },
        ],
        "testState": {
          "1": [
            1,
            0
          "2": [
            1,
            0
          ]
         }
       }'); 

      die(); 
}

CodePudding user response:

function testFunction() {
return json_decode('{
    "testData": [
      {
        "_id": "1",
        "name": "testName1"
      },
      {
        "_id": "2",
        "name": "testName2"
      },
    ],
    "testState": {
      "1": [
        1,
        0
      "2": [
        1,
        0
      ]
     }
   }');  }

CodePudding user response:

I saved the output of json_decode to a variable and then run json_encode on that variable. Now it seems to work.

function inboundCall() {
    
    $json = json_decode('{
        "topics": [
          {
            "_id": "1",
            "name": "davisio",
            "crdate": "2022-01-17T12:40:03.430Z",
            "modified": "2022-01-17T12:40:03.430Z"
          },
          {
            "_id": "2",
            "name": "LoRaWAN",
            "crdate": "2022-01-17T12:40:33.848Z",
            "modified": "2022-01-17T12:40:33.848Z"
          },
          {
            "_id": "3",
            "name": "Kommunale Beziehungen",
            "crdate": "2022-01-19T15:17:10.094Z",
            "modified": "2022-01-19T15:17:10.094Z"
          },
          {
            "_id": "4",
            "name": "Test",
            "crdate": "2022-03-31T13:29:41.799Z",
            "modified": "2022-03-31T13:29:41.799Z"
          }
        ],
        "serviceState": {
          "1": [
            1,
            0,
            0,
            1,
            0,
            0,
            0,
            1
          ],
          "2": [
            1,
            0,
            0,
            0,
            0,
            0,
            0,
            1
          ],
          "4": [
            1,
            0,
            0,
            0,
            0,
            0,
            0,
            1
          ]
        }
      }'); 
      echo json_encode($json);
    die(); 
}
  • Related