Php 如何从JSON.stringify解码数据
我无法解码json数据,请帮我解决这个问题。 我正在使用.net中的以下函数进行json编码:-Php 如何从JSON.stringify解码数据,php,json,Php,Json,我无法解码json数据,请帮我解决这个问题。 我正在使用.net中的以下函数进行json编码:- function(response){ var jsonString = JSON.stringify(response.newhtml); //stringify the JSON created //Send the json data to server //--------------------------- $.ajax({ type:
function(response){
var jsonString = JSON.stringify(response.newhtml); //stringify the JSON created
//Send the json data to server
//---------------------------
$.ajax({
type: "POST",
url: 'url',
//dataType:"json",
data: {
LiRecData: jsonString
},
}).done(function(msg){
$('#load_indicator_store').hide(); //Hide loading icon
if(msg == 'Success'){
$('#status_save').html('<span class="status_ok">Save.</span>');
}
else {
$('#status_save').html('<span class="status_error">An error occurred. Please try again after sometime.</span>');
}
});
}
您的问题是无效的JSON文本 我已尝试修复json。要知道,这很难看。非常难看 因此,将此作为输入:
$a = '{"LinkedIn /*trimmed data to fit this format*/ Recruiting"}]}';
// you use $a = $_POST['LiRecData'];
我所做的是尝试基于一些现有/正确的元素重构JSON:
$a = str_replace(["\n","\t",'<br>','</br>'],'',$a); // remove new lines, tabs and br tags
$a = preg_replace ( '/([^"])\,([^"])/' , "$1___$2" , $a); // replace commas inside qoutes with SOMETHING
$a = preg_replace ( '/([^"])\:([^"])/' , "$1__|$2" , $a); // replace semicolon inside qoutes with SOMETHING ELSE
$a = str_replace('"','',$a); // remove all qoutes
$a = str_replace(':','":"',$a); // quote all semicolons
$a = str_replace(',','","',$a); // quote all commas
$a = preg_replace ( '/([\{])([a-zA-Z0-9])/' , "$1\"$2" , $a); // {A => {"A
$a = preg_replace ( '/([\:])\"\s([\[])/' , "$1$2" , $a); // : " [ => : [
$a = preg_replace ( '/([a-zA-Z0-9])([\}])/' , "$1\"$2" , $a); // adas} => adas"}
$a = preg_replace ( '/([\.])(\s{0,})([\}])/' , "$1\"$3" , $a);
$a = preg_replace ( '/([\"])(\s{1,})([a-zA-Z0-9])/' , "$1$3" , $a); // " Key" => "Key" trim keys
$a = str_replace(':" }',':"" }',$a);
$a = str_replace(']","','],"', $a);
$a = str_replace("___",",",$a); // revert comment 2
$a = str_replace("__|",":",$a); // revert comment 3
$a = str_replace(']}","Top', '],"Top',$a); //manual fix for TopSkils
print_r(json_decode($a,true));
你可以在这里看到:
您正在将请求发送到url:“url”?正确设置问题的格式能否将问题的文本减少到实际需要的内容?您不需要在这里发布所有JSON数据!我只想解码看起来不是有效json的json数据。检查这里:做得很好,Alex,但忍不住认为这个问题应该在得到答案之前被修改,而继承这个答案的可怜的devmuddle@simpsojo的确但在我最近看到的所有低质量问题中,这一个至少有一些努力。是的,这仍然是一个糟糕的问题,可能太本地化了。但是:OP问得很好,通过json识别了问题,并发布了相关代码/信息。是的,问题更严重:JSON不应该像传输html那样使用。我在这方面花了很多钱。也许是出于个人背景。我曾经遇到过一个类似的问题,从外部WSDL返回的XML字段中有一个json,它太糟糕了,以至于我不得不对它进行两倍于此的解析。。。我记得所有的挫折。。。所以我决定帮忙@亚历克斯塔坦:够公平的,公平竞争
$a = str_replace(["\n","\t",'<br>','</br>'],'',$a); // remove new lines, tabs and br tags
$a = preg_replace ( '/([^"])\,([^"])/' , "$1___$2" , $a); // replace commas inside qoutes with SOMETHING
$a = preg_replace ( '/([^"])\:([^"])/' , "$1__|$2" , $a); // replace semicolon inside qoutes with SOMETHING ELSE
$a = str_replace('"','',$a); // remove all qoutes
$a = str_replace(':','":"',$a); // quote all semicolons
$a = str_replace(',','","',$a); // quote all commas
$a = preg_replace ( '/([\{])([a-zA-Z0-9])/' , "$1\"$2" , $a); // {A => {"A
$a = preg_replace ( '/([\:])\"\s([\[])/' , "$1$2" , $a); // : " [ => : [
$a = preg_replace ( '/([a-zA-Z0-9])([\}])/' , "$1\"$2" , $a); // adas} => adas"}
$a = preg_replace ( '/([\.])(\s{0,})([\}])/' , "$1\"$3" , $a);
$a = preg_replace ( '/([\"])(\s{1,})([a-zA-Z0-9])/' , "$1$3" , $a); // " Key" => "Key" trim keys
$a = str_replace(':" }',':"" }',$a);
$a = str_replace(']","','],"', $a);
$a = str_replace("___",",",$a); // revert comment 2
$a = str_replace("__|",":",$a); // revert comment 3
$a = str_replace(']}","Top', '],"Top',$a); //manual fix for TopSkils
print_r(json_decode($a,true));