Php 在javascript中创建JSON

Php 在javascript中创建JSON,php,javascript,jquery,json,stringify,Php,Javascript,Jquery,Json,Stringify,我应该如何在javascript中将这些数据编码为JSON 我使用javascript在照片上获取任意数量的“标签”。每个标签都有一个名字和一个姓氏,格式如下: firstname = 'john'; lastname = 'doe'; firstname = 'jane'; lastname = 'smith'; 我想将这些数据编码为JSON,用Ajax发送到我的服务器,然后用PHP解码 我的想法是创建一个多维数组。有更好的方法吗 JSON.stringify()的输出是[{\'fir

我应该如何在javascript中将这些数据编码为JSON

我使用javascript在照片上获取任意数量的“标签”。每个标签都有一个名字和一个姓氏,格式如下:

firstname = 'john';
lastname  = 'doe';

firstname = 'jane';
lastname  = 'smith';
我想将这些数据编码为JSON,用Ajax发送到我的服务器,然后用PHP解码

我的想法是创建一个多维数组。有更好的方法吗


JSON.stringify()的输出是
[{\'firstname\':\'John\',\'lastname\':\'Doe\',{\'firstname\':\'Jane\',\'lastname\':\'Smith\'}]
。如何使JSON.stringify()不转义所有引号

JSON的灵感来自JavaScript的对象语法,因此您只需创建一个对象数组:

var data = [
  {
    firstname: 'john',
    lastname: 'doe'
  },
  {
    firstname: 'jane',
    lastname: 'smith'
  }
]

var json = JSON.stringify( data ); // send this object to server

您可以将标记转换为json对象

var jsonObj = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}';
var obj = $.parseJSON(jsonObj);

JSON是一条出路

JAVASCRIPT

 var data = [{
    firstname: 'john',
    lastname: 'doe'
    },
    {
    firstname: 'jane',
    lastname: 'smith'
   }
 ]

var json = JSON.stringify( data ); 
现在您的JSON字符串将是

[{“firstname”:“John”,“lastname”:“Doe”},{“firstname”:“Jane”,“lastname”:“Smith”}]

PHP

$arr=json_decode('$jsonVar');

确保将单引号封面放在php端。否则PHP不会将其读取为字符串,除非您使用的API要求您以JSON格式发送请求。只需向服务器发送标准帖子就容易多了。我使用的是FormData,所以不幸的是它必须以JSON格式发送。不确定
FormData
是什么。。。这是一个.Net问题吗?奇怪的是,您将问题标记为[json]和[stringify],但显然
json.stringify()
是您没有尝试过的一件事。我尝试了json.stringify(),它似乎对我的数据格式不正确,所以我想在这里检查一下。注意:json.stringify/json.parse需要在IE7上添加一个垫片(ick!)在这之前,当我这样做的时候,我得到的结果是[{“firstname”:“John”,“lastname”:“Doe”},{“firstname”:“Jane”,“lastname”:“Smith”},而PHP的json解码似乎无法从中得到结果。stringify()的输出是[{“firstname\”:“John\,“lastname\”:“Doe\”,{“firstname\”:“Jane\”,“lastname\:“Smith\”)。我怎么能让JSON.stringify()不转义所有的引号呢?我很确定你不必用单引号把它括起来。你为什么要这么做?它应该是计算变量的值,而不是读取字符串。
$arr=json_decode('$jsonVar');