标签: stringify

PHP中JS对象的解码并获取数据

我有一个名为

var type = [];
Run Code Online (Sandbox Code Playgroud)

我在哪里

type.push({'type' : 1});
Run Code Online (Sandbox Code Playgroud)

最后我得到以下对象:

[{"type":"1"},{"type":"2"},{"type":"3"},{"type":"4"}]
Run Code Online (Sandbox Code Playgroud)

通过执行 JSON.stringify();

但是我怎样才能得到PHP中的类型呢?

javascript php json object stringify

1
推荐指数
1
解决办法
4625
查看次数

javascript/jquery - JSON.stringify无法在Windows Phone 7中运行

我正在测试Windows Phone 7上的移动网站,而JSON.stringify功能无效.有谁知道为什么会发生这种情况或者我能做些什么来解决这个问题?我正在对数组进行字符串化以将其存储在cookie中.这是我的代码:

vString = JSON.stringify(vehicleArray);
alert ('this alert will never execute');
$j.cookie('vehicleCookie', vString, { expires: 7, path: '/' }); //Store all the vehicles again to the cookie
Run Code Online (Sandbox Code Playgroud)

超出vString行的任何代码都不再执行.

如果记录,vehicleArray看起来像这样:

["145", "273", "241", "553", "490", "380"]
Run Code Online (Sandbox Code Playgroud)

我无法提供有关什么工作或不工作的大量信息,因为Windows phone没有我所知道的任何类型的调试器,并且代码在ie7中工作正常.

javascript cookies jquery json stringify

1
推荐指数
1
解决办法
1718
查看次数

手工构建的 JSON 与 JSON.stringify

背景

我有一堆对象需要将它们的状态以 json 表示形式发送到服务器。目前它的工作原理如下:

MyClass.prototype.GetJSON(){
    return '{"title":"' + m_Title + '","description":"' + m_Desc + '"}'; 

};
Run Code Online (Sandbox Code Playgroud)

问题

和我一起工作的人建议我做这样的事情:

MyClass.prototype.GetJSON(){
    return JSON.stringify( {title:m_Title, description:m_Desc} ); 

};
Run Code Online (Sandbox Code Playgroud)

这样做有什么优点/缺点?它比我已经在做的事情效率更高/更低吗?

javascript json stringify

1
推荐指数
1
解决办法
776
查看次数

PHP无法读取jQuery.ajax POST中发送的数据

JavaScript代码:

var data = {"hiSO": "my very complex - nested objects/arrays - data object"};

var j = jQuery.noConflict();
j.ajax({
  type: "POST",
  url: "postTestingResult.php",
  contentType: "application/json; charset=utf-8",
  data: {"data": JSON.stringify(data)},
  dataType: "json",
  success: ajaxSuccess,
  error: ajaxError
});
Run Code Online (Sandbox Code Playgroud)

PHP代码:

header('Content-Type: application/json');

if(!empty($_POST['data'])) {
    $data = json_decode($_POST['data']);

    //do things with data

    echo json_encode(array("success" => "thanks for the info!"));
} else {
    echo json_encode(array("error" => "'data' is not set or is NULL"));
}
Run Code Online (Sandbox Code Playgroud)

无论我如何构造数据,$ _POST ['data']似乎总是空的(具体来说,未定义).如果你想要我正在使用的数据对象的完整副本,请查看这个JSFiddle.感谢您的帮助,谢谢!

javascript php jquery json stringify

1
推荐指数
1
解决办法
975
查看次数

在Ajax POST和JSON中发送特殊字符

@解决了

正如James M. Lay所解释的那样,我应该将我的内容类型application/x-www-form-urlencoded改为application/json

它隐含在一个错误中,因为似乎只有UrlEnconded类型在服务器端生成POST数组(至少在PHP中).所以我不得不改变我在服务器脚本中接收/处理请求的方式

$json = file_get_contents('php://input'); //yes. php://input

if($json) $params = json_decode($json,true);
else $params = $_POST;
Run Code Online (Sandbox Code Playgroud)

我还必须在Javascript代码中进行一些更改以检查内容类型并生成不同的字符串.如果它是JSON我只是使用JSON.stringify

//string to use in the 'send' method
this.getParametersString = function(){
        if(this.contentType == 'application/json'){
            return JSON.stringify(this.parameters);
        }else{}
}
Run Code Online (Sandbox Code Playgroud)

我有一个问题

我正在构建一个函数,它接收参数以写入参数列表并通过POST发送它

问题是我们不能发送特殊字符,例如 +

所以我尝试使用该函数encodeURIComponent将它们编码为URI友好字符串.

还有另外一个问题:如果收到的参数是一个对象,我循环遍历属性,检查它是否是另一个对象或字符串,如果它是一个对象,再次循环,否则编码它.

但它返回一个编码字符串的对象.我必须使对象成为发送它的字符串,为此我使用JSON.stringify.它解码编码的字符串.所以再次%2B成为+,它不会通过POST发送到服务器.

另一方面,如果我stringify先使用encodeURIComponent它,它会生成不应该编码的"和{}等符号,而且字符串不是写得很好的JSON

那你怎么样?这是不使用jQuery的方式吗?我是否必须构建自己的stringify函数?!

javascript ajax json encodeuricomponent stringify

1
推荐指数
1
解决办法
9049
查看次数

如何转换 Ruby 哈希,使其所有键都是字符串

我有一个 ruby​​ 哈希,如下所示:

{ id: 123, name: "test" }
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

{ "id" => 123, "name" => "test" }
Run Code Online (Sandbox Code Playgroud)

ruby hash stringify

1
推荐指数
1
解决办法
1645
查看次数

JavaScript JSON stringify:使其输出一行紧凑字符串

我正在尝试创建一个自定义函数,用于将JSON对象转换为单行字符串.例如:

var obj = {
 "name": "John Doe",
 "age": 29,
 "location": "Denver Colorado",
};
Run Code Online (Sandbox Code Playgroud)

我想把它输出: "{ \"name\": \"John Doe\", \"age\": 29, \"location\": \"Denver Colorado,\"}"

我的下面的函数不起作用,这让我想知道如何删除输出中的新行(隐藏):

function objToCompactString(obj) {
        var result = "\"{";
        Object.keys(obj).forEach(key => {
            result += `"${key}":"${obj[key]}",`;
        });

        result += "}\"";
        return result;
}
Run Code Online (Sandbox Code Playgroud)

javascript json stringify

1
推荐指数
1
解决办法
3384
查看次数

如何解决(未捕获的TypeError:将圆形结构转换为JSON)

我有以下对象,我正在尝试将其转换为json对象,如下所示

 var feeTransactionsArray=[];

                 $(".editor #newPayTable .mainTr").each(function(){ 

                     var feeTransactions={};
                     var studentDetails={};
                     var feeCategory={};


                     studentDetails['studentAdmissionId']=id;

                     feeCategory['feeCatId']=$(this).find('.feeCatId').val();

                     feeTransactions['studentDetails']=studentDetails;

                     feeTransactions['feeCategory']=feeCategory;

                     feeTransactions['paidOn']=paidDate;

                     feeTransactions['transReceiptNo']=receciptNumber;

                     feeTransactions['amountPaid']=$(this).find('.amount').val();

                     feeTransactions['paymentMode']=mode

                     feeTransactions['amountPaid']=refrenceNumber;

                     feeTransactions['isConcessionGiven']='no';

                     feeTransactionsArray.push(feeTransactionsArray);
                 });
                 var myJSON = JSON.stringify(feeTransactionsArray);
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误

actions.js:1180 Uncaught TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)
Run Code Online (Sandbox Code Playgroud)

在我的情况下如何解决这个问题。请帮我。谢谢!

json stringify

1
推荐指数
1
解决办法
1万
查看次数

如何使用JSON.stringify在javascript/node js中模拟php的json_encode?

我正在寻找一种模仿php的json_encode来自节点js的行为的方法.这是一个示例,显示了php在一个获取json_encoded的对象中的url所做的事情:

<?
$foo['url'] = "http://example.com/note/that/the/slashes/get/backslashed";
echo json_encode($foo);
?>
Run Code Online (Sandbox Code Playgroud)

生成以下输出:

{"url":"http:\/\/example.com\/note\/that\/the\/slashes\/get\/backslashed"}
Run Code Online (Sandbox Code Playgroud)

在这里使用node.js和JSON.stringify函数:

var foo = new Object();
foo.url = "http://example.com/note/that/the/slashes/do/not/get/backslashed"
console.log(JSON.stringify(foo));
Run Code Online (Sandbox Code Playgroud)

我观察这个输出:

 {"url":"http://example.com/note/that/the/slashes/do/not/get/backslashed"}
Run Code Online (Sandbox Code Playgroud)

你知道一种干净的方法让JSON.stringify的行为方式与PHP的行为相同吗?

额外的信息:我意识到正确的json编码可能不需要这些斜杠,但是我将json编码的对象发送到我无法控制的远程服务器,并且在没有反斜杠的情况下不喜欢它们.

更多额外信息:我尝试放入自己的反斜杠,然后调用JSON.stringify,但JSON.stringify尽职尽责地正确地逃避反斜杠,所以我最终得到了\\ /而不是\ /这就是我想要的.

php json node.js stringify

0
推荐指数
1
解决办法
7641
查看次数

通过#include将char文件内容分配给char数组

我想在C++中执行以下操作:

static const char* data[] = { #include "mydata.hh" };
Run Code Online (Sandbox Code Playgroud)

其中mydata.hh的内容应该被指定为数据的char数组.我已经尝试了#include的各种变体和(一级和两级)字符串化#x.到目前为止没有工作.这实际上是可能的还是我错过了什么?

谢谢你.

c++ char include stringify

0
推荐指数
1
解决办法
589
查看次数

标签 统计

stringify ×10

json ×8

javascript ×6

php ×3

jquery ×2

ajax ×1

c++ ×1

char ×1

cookies ×1

encodeuricomponent ×1

hash ×1

include ×1

node.js ×1

object ×1

ruby ×1