11 javascript php csv json
我正在尝试将traceroutes映射到谷歌地图.
我在php中有一个带有traceroute数据的数组
$c=ip,latitude,longitude, 2nd ip, its latitude, longitude, ....target ip, its lat, its lng
Run Code Online (Sandbox Code Playgroud)
我使用json_encode($c, JSON_FORCE_OBJECT)并保存了文件
现在,我如何使用javascript访问它,直接将它等同于新的JS对象?
早些时候我曾经在硬盘上有这样的数据格式
var data12 = {
"route":[
{
"ip": "some ip",
"longitude": "some lng",
"latitude": "some lat",
.....
Run Code Online (Sandbox Code Playgroud)
并在我的JavaScript中它被用作
data=data12.route;
Run Code Online (Sandbox Code Playgroud)
然后简单地将成员作为数据[1] .latitude进行访问
Sam*_* S. 25
我建议使用jQuery库.缩小版本的大小仅为31 kB,并提供许多有用的功能.
要解析JSON,只需执行
var obj = jQuery.parseJSON ( ' {"name" : "John"} ' );
Run Code Online (Sandbox Code Playgroud)
您现在可以轻松访问所有内容:
alert ( obj.name );
Run Code Online (Sandbox Code Playgroud)
注意:jQuery使用浏览器的本机JSON解析器 - 如果可用 - 这比使用该eval ()方法更快,更安全.
编辑:要从服务器端向客户端获取数据,有两种可能:
1.)使用AJAX请求(使用jQuery非常简单):
$.ajax ( {
url: "yourscript.php",
dataType: "json",
success: function ( data, textStatus, jqXHR ) {
// process the data, you only need the "data" argument
// jQuery will automatically parse the JSON for you!
}
} );
Run Code Online (Sandbox Code Playgroud)
2.)在页面生成时将JSON对象写入Javascript源代码:
<?php
$json = json_encode ( $your_array, JSON_FORCE_OBJECT );
?>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var json_obj = jQuery.parseJSON ( ' + <?php echo $json; ?> + ' );
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
小智 8
我知道这已经很旧了,但我最近发现自己在寻找这个。这里的答案都不适合我的情况,因为我的价值观中有引号。这里的想法是在回显到页面之前对数组进行 Base64 编码。这样引号就不会冲突。
< ?php
$names = ['first' => "some'name"];
?>
var names = JSON.parse(atob('< ?php echo base64_encode(json_encode($names)); ?>'));
console.log(names['first']);
Run Code Online (Sandbox Code Playgroud)