使用Javascript抓取JSON并解析为字符串

时间:2016-05-11 22:22:05

标签: javascript json

所以目前我正在使用PHP从我的服务器上的JSON文件中获取价格。如果我切换到javascript,我觉得使用它会好得多。我对使用JSON.Stringify()有点困惑,即使它在这种情况下也能工作。这是我用来抓取JSON对象的当前代码,并在页面上显示它们:

$json = file_get_contents('http://xxxxxxxxx.com/foo.json');
$list = json_decode($json);
$value = 'value';
$case = 'The Powerhouse Weapons Case';
$casem = $list->response->items->$case->$value;
$casef = money_format('$%i', ($casem/ 100));
echo $casef;

在Javscript中执行此操作的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用纯Javascript获取该文件,然后解析它。

看看这个Tutorial

这将是这样的:

function reqListener () {
  var json = JSON.parse(this.responseText);
  var value = json.response.items['The Powerhouse Weapons Case'].value;
  var formattedValue = '$' + Number(value / 100).toFixed(2);
  console.log(formattedValue);
}

var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "http://xxxxxxxxx.com/foo.json");
oReq.send();

JSON.parse()相当于PHP中的json_decode()

我不知道json文件的样子,所以我从你的php代码中复制了引用。

另外,我使用console.log()函数来显示您的格式化值,但当然,您可以随意使用它。

希望我能提供帮助。

答案 1 :(得分:0)

如果你的对象已经是json,只需将其删除,而不是将其字符串化。如果它是一个对象,你可以访问几乎相同的属性,只有list.response.items.case.value