2

我应该如何在 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() 不转义所有引号?

4

3 回答 3

4

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

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

var json = JSON.stringify( data ); // send this object to server
于 2012-12-25T03:10:38.047 回答
1

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 不会将其读取为字符串

于 2012-12-25T03:37:49.887 回答
0

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

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

或者

 var jsonObj = {
"employees": [
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
var obj = $.parseJSON(jsonObj);
于 2012-12-25T03:18:55.397 回答