如何显示响应JSON

时间:2018-12-31 11:50:10

标签: php json react-native

我需要显示回应。例如标题

stdClass Object
(
[product] => stdClass Object
    (
        [title] => shoes
        [id] => 44
        [created_at] => 2018-11-08T10:58:58Z
        [updated_at] => 2018-11-08T10:59:01Z
        [type] => variable
        [status] => publish
        [downloadable] => 
        [virtual] => 
        [permalink] => http://xxxxxxxxx/xxxxx/xxxxx/xxxxxx/
        [sku] => 
        [price] => 7000
        [regular_price] => 0
        [sale_price] => 
        [price_html] => 

这是我在本机中显示响应的代码:

handlePress =()=> {
  fetch('http://xxxxxxxxx/xxxx/xxxx/xxxx/xxxxx.php',{
    method:'POST',
    headers:{
      'Content-type':'application/json'
    },
    body: JSON.stringify({
      "type": "select",
      "args": {
          "table": "product",
          "columns": [
              "title"
          ],
          "limit": "1"
      }
    })
  }).then((response) => response.json())
  .then((responseJson) => {
    Alert.alert("Product Name  " + responseJson[0].name);
  }).catch((error) => {
  console.error(error);
});
}

错误::Json解析错误:意外的标识符“ stdClass”

我认为列或表选择有问题,但控制台错误与stdClass有关。

2 个答案:

答案 0 :(得分:1)

stdClass是PHP的一部分。似乎您在执行类似返回此stdClass-Object的操作(例如vardump($ yourObject);)。

您需要发送一个完全有效的json。在PHP中,您可以使用 'exclude_cats' => '', 'layout' => 'large', 'meta_all' => 'yes', 'meta_author' => 'yes', 'meta_categories' => 'yes', 'meta_comments' => 'yes', 'meta_date' => 'yes', 'meta_link' => 'yes', 'meta_read' => 'yes', 'meta_tags' => 'no', 'number_posts' => '6', 'offset' => '', 'order' => 'DESC', 'orderby' => 'date', 'paging' => 'yes', 'show_title' => 'yes', 'scrolling' => 'infinite', 'strip_html' => 'yes', 'thumbnail' => 'yes', 'title_link' => 'yes', 'posts_per_page' => '6', 'taxonomy' => 'category', 'excerpt_words' => '50', //deprecated 'title' => '', // deprecated ), $args );

答案 1 :(得分:0)

要使用json(例如,在JS中),您需要解码/解析Json。之后,您可以像普通的JS对象一样访问它。

var json = '{"name":'BimBom', "age":42}';
obj = JSON.parse(json);

console.log(obj.name);  // result in BimBom
console.log(obj.age);  // result in 42