繁体   English   中英

Node.js和JSON

[英]Node.js and JSON

我是node.js的新手,所以请耐心等待。

这是我的情况:

我有一个返回JSON的URL。 我需要使用此JSON并将其传递给返回自定义模板的javascript函数。 目前我正在使用php来处理来自客户端的请求。 我不确定这里最好的方法是什么。 我已经尝试将URL作为参数传递给.js程序。 我也尝试将JSON作为参数传递,但这根本不起作用。 我正在使用shell_exec来调用节点脚本。 我能够编写简单的文本行,并按照我期望的方式行事。

  1. 我知道这不是最好的方法,另一种解决方案?
  2. 如何传递JSON并将其解析为参数?
  3. 如何使用javascript从URL获取内容?

PHP代码

$json = "{'a':'1','b':'2'}";
$test = shell_exec("node example.js ".$json);

Example.js

var data = String(process.argv.splice(2));
console.log(data);

由于空格和引号在命令行中具有特殊含义,因此必须在php中对它们进行转义 另请注意,JSON字符串必须用双引号分隔。 如果您不是100%确定生成有效JSON的方式,则应使用json_encode函数:

<?php
$json = '{"a":"1","b":"2"}';
// or, better:
$json = json_encode(array("a"=>"1", "b"=>"2"));
$test = shell_exec("node example.js ". escapeshellarg($json));
echo $test;

此外,您的node.js代码实际上并不解析JSON,并且没有充分理由将数组转换为字符串。 相反,你想要:

var data = JSON.parse(process.argv[2]);
console.log(data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM