如何解码 JSON 字符串
How to decode a JSON string?
在服务器端,我有 2 个哈希编码成 JSON 字符串吗
?my $j = JSON->new;
$j = $j->utf8;
my $data;
$data->{users} = $j->encode('%user_result);
$data->{owners} = $j->encode('%owner_result);
$json_string = to_json($data);
print $cgi->header(-type => "application/json", -charset => "utf-8");
print $json_string;
在客户端,我有
$(document).ready(function(){
$('form').live('submit', function(){
$.ajax({
type: "GET",
url: "/cgi-bin/ajax_confirm.pl",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: $(this).serialize(),
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('div#create_result').text("responseText: " + XMLHttpRequest.responseText +
", textStatus: " + textStatus +
", errorThrown: " + errorThrown);
$('div#create_result').addClass("error");
},
success: function(result){
if (result.error) {
$('div#create_result').text("result.error: " + result.error);
$('div#create_result').addClass("error");
} else { // perl script says everything is okay
var users = result.users;
var owners = result.owners;
...
users
包含
{"ss":"Sandra Schlichting","fn":"Full name"}
但它不是一个数组。当我使用$.each()
时,它一次具有特征。
问题
如何将其转换为数组,以便我可以使用
function makeTable(users) {
var result = '<table>'n<tr><td>Initials</td><td>Full Name</td></tr>'n';
$.each(users, function(index, value) {
result += '<tr><td>' + index + '</td><td>' + value + '</td></tr>'n';
});
result += '</table>';
return (result);
}
应该产生
Initials Full Name
ss Sandra Schlichting
fn Full name
你应该使用 jQuery.getJSON() 如 http://api.jquery.com/jQuery.getJSON/中所述。
如果你想这样做,还有 $.parseJSON() 方法可以将字符串解析为 json。
你不需要把它变成一个数组。根据jQuery.each()文档,它同时接受数组或对象,JSON是JavaScript的对象文字表示法的子集。
编辑:这是一个例子:http://jsfiddle.net/pedrocorreia/s5UrZ/2/
您可以使用 Douglas crockford 创建的 JSON 解析器:
https://github.com/douglascrockford/JSON-js
在页面中包含json2.js
,您可以执行以下操作:
var object = JSON.parse(string);
然后,您可以将其用作数组。
您可以使用
in 语句
var index = 0;
for(user in users){
result += '<tr><td>' + index + '</td><td>' + user['fn'] + '</td></tr>'n';
index++;
}
相关文章:
- 如何使用JSON字符串中的jQuery填充下拉框
- Json字符串可以'当字符串末尾有“'时,t解码;
- jquery从2个json字符串构建一个复选框表单
- RegEx只匹配JSON字符串中最里面的数组
- json字符串的Javascript帖子:没有任何东西传入或返回
- 使用javascript在MVC视图中解析.net JSON字符串
- 用Angularjs+Typescript将GZip Json字符串解压为普通Json字符串
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 如何使用AngularJS应用基于Json字符串响应的条件CSS类
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- 将JSON字符串转换为函数参数
- 在AngularJS中创建JSON字符串
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- Json字符串更改日期
- JSON字符串格式错误
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- C#JSON字符串到JavaScript数组
- 如何在JSON字符串中实现嵌套HTML
- 如何从带有多个对象的JSON字符串创建JSON对象
- 使用捕获组查找和替换json字符串中出现的所有短语