首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将json对象转换为序列化字符串以供服务器端处理?

将json对象转换为序列化字符串以供服务器端处理?
EN

Stack Overflow用户
提问于 2015-03-16 13:23:46
回答 2查看 428关注 0票数 0

我正在尝试将返回的json对象转换为序列化字符串,可以使用PHP服务器端代码进一步处理该字符串:

返回的对象如下所示:

代码语言:javascript
运行
复制
Object {id: "123456787654321", email: "some-email@gmail.com", first_name:   "First", gender: "male", last_name: "Last"}

我可以使用以下方法将对象转换为字符串:

代码语言:javascript
运行
复制
var paramString = JSON.stringify(response);
console.log(paramString);

// doesn't work
//var params = paramString.serialize();

现在如何将字符串转换为序列化的字符串,通过以下客户端调用将其传递给服务器:

我希望会有这样的事情:

代码语言:javascript
运行
复制
id=123456787654321&email=some-email@gmail.com&first_name...

我的服务器端代码:

代码语言:javascript
运行
复制
$.post("/functions/test_functions.php", {params: params}, function(data) {
    ...                             
}, "json");

我像处理服务器端那样处理params数组:

代码语言:javascript
运行
复制
$vars = $_SERVER['REQUEST_METHOD'] === "GET" ? $_GET : $_POST; 

$params = array();
isset($vars['params']) ? parse_str($vars['params'], $params) : null;
EN

回答 2

Stack Overflow用户

发布于 2015-03-16 13:33:46

您可以将JSON-字符串传递给服务器,并使用json_decode()对其进行解码。详情请参见http://php.net/manual/en/function.json-decode.php

票数 0
EN

Stack Overflow用户

发布于 2015-03-16 13:45:49

除非有什么特别的理由让你紧张,否则你并不需要这样做。jQuery .post将为您处理序列化,例如:

代码语言:javascript
运行
复制
var response = {id: "123456787654321", email: "some-email@gmail.com", first_name:   "First", gender: "male", last_name: "Last"};
$.post("/functions/test_functions.php", response, function(data) {
    ...                             
}, "json");

会提出这样的邮件请求:

/function/test_function s.php

内容-类型:应用程序/x form-urlencoded;字符集=utf-8

id=12345654321&email=some-email@gmail.com&first_name.... 表单数据:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29077951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档