相关疑难解决方法(0)

安全地将JSON字符串转换为对象

给定一串JSON数据,您如何安全地将该字符串转换为JavaScript对象?

很显然,你可以通过像......这样的东西不安全地做到这一点.

var obj = eval("(" + json + ')');
Run Code Online (Sandbox Code Playgroud)

...但是这使得我们容易受到包含其他代码的json字符串的影响,这对于简单的eval来说似乎非常危险.

javascript json

1298
推荐指数
15
解决办法
123万
查看次数

在jQuery中序列化为JSON

我需要将对象序列化为JSON.我正在使用jQuery.是否有"标准"方法来做到这一点?

我的具体情况:我有一个定义如下所示的数组:

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...
Run Code Online (Sandbox Code Playgroud)

我需要把它变成一个字符串传递给$.ajax()这样:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: "{'countries':['ga','cd']}",
...
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery serialization json

1189
推荐指数
11
解决办法
86万
查看次数

访问/处理(嵌套)对象,数组或JSON

我有一个包含对象和数组的嵌套数据结构.如何提取信息,即访问特定或多个值(或键)?

例如:

var data = {
    code: 42,
    items: [{
        id: 1,
        name: 'foo'
    }, {
        id: 2,
        name: 'bar'
    }]
};
Run Code Online (Sandbox Code Playgroud)

我怎么能访问name第二项items

javascript arrays nested object data-manipulation

811
推荐指数
24
解决办法
57万
查看次数

将JSON反序列化为JavaScript对象

我在使用AJAX访问的Java服务器应用程序中有一个字符串.它看起来像下面这样:

var json = [{
    "adjacencies": [
        {
          "nodeTo": "graphnode2",
          "nodeFrom": "graphnode1",
          "data": {
            "$color": "#557EAA"
          }
        }
    ],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode1",
    "name": "graphnode1"
},{
    "adjacencies": [],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode2",
    "name": "graphnode2"
}];
Run Code Online (Sandbox Code Playgroud)

当字符串从服务器中拉出时,是否有一种简单的方法可以将其转换为活动的JavaScript对象(或数组)?或者我是否必须手动拆分字符串并手动构建我的对象?

javascript json deserialization

246
推荐指数
5
解决办法
31万
查看次数

在Node.js中,如何将字符串转换为json?

例如,HTTP REST API只返回了一个JSON,但当然它现在是一个字符串.如何将其转换为JSON?

javascript json http node.js

134
推荐指数
2
解决办法
17万
查看次数

未捕获的TypeError:不能使用'in'运算符来搜索'length'

未捕获的TypeError:无法使用'in'运算符搜索"length"中的"length"

这是我尝试$.each对此JSON对象执行此操作时收到的错误:

{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}
Run Code Online (Sandbox Code Playgroud)

我也尝试用stringify做同样的事情,但是我收到了同样的错误:

{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"
Run Code Online (Sandbox Code Playgroud)

如果我___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest从对象中删除参数,$ .each工作正常.

为什么会发生这种情况?

提前致谢.

javascript jquery json getjson

92
推荐指数
2
解决办法
20万
查看次数

JavaScript没有在jsfiddle.net上运行

下面的代码适用于实时网站,但我不能让它在网站jsfiddle上运行.

例如,见这个.

任何人都可以告诉我为什么它不适用于jsfiddle

在控制台上它记录:ReferenceError: fillList is not definedReferenceError: mySelectList is not defined.

当代码嵌入到代码片段时,代码可以正常工作:

function BetterSelect(oSelList) {
  this.objSelectList = oSelList;
  this.objSelectList.onchange = this.selectionChanged;
}
BetterSelect.prototype.clear = function() {
  this.objSelectList.options.length = 0;
}
BetterSelect.prototype.fill = function(aValues) {
  this.clear();
  for (var i = 0; i < aValues.length; i++) {
    this.objSelectList.options[i] = new Option(aValues[i]);
  }
}
BetterSelect.prototype.find = function(strToFind, bSelect) {
  var indx = -1;
  this.objSelectList.options.selectedIndex = -1;
  for (var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

html javascript jsfiddle

74
推荐指数
3
解决办法
4万
查看次数

从JQuery.ajax成功数据中解析JSON

我无法从JQery.ajax调用中获取JSON对象的内容.我的电话:

$('#Search').click(function () {
    var query = $('#query').valueOf();
    $.ajax({
        url: '/Products/Search',
        type: "POST",
        data: query,
        dataType: 'application/json; charset=utf-8',
        success: function (data) {
            alert(data);
            for (var x = 0; x < data.length; x++) {
                content = data[x].Id;
                content += "<br>";
                content += data[x].Name;
                content += "<br>";
                $(content).appendTo("#ProductList");
               // updateListing(data[x]);
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

似乎正在正确返回JSON对象,因为"alert(data)"显示以下内容

[{"Id": "1", "Name": "Shirt"}, {"Id": "2", "Name":"Pants"}]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用以下命令向页面显示Id或Name时:

content = data[x].Id;
content += "<br>";
content += data[x].Name;
content += "<br>";
Run Code Online (Sandbox Code Playgroud)

它会向页面返回"undefined".我究竟做错了什么?

谢谢您的帮助.

jquery json

72
推荐指数
6
解决办法
32万
查看次数

65
推荐指数
4
解决办法
35万
查看次数

如何重命名JSON密钥

我有一个JSON对象,其中包含以下内容:

[
  {
    "_id":"5078c3a803ff4197dc81fbfb",
    "email":"user1@gmail.com",
    "image":"some_image_url",
    "name":"Name 1"
  },
  {
    "_id":"5078c3a803ff4197dc81fbfc",
    "email":"user2@gmail.com",
    "image":"some_image_url",
    "name":"Name 2"
  }
]
Run Code Online (Sandbox Code Playgroud)

我想将"_id"键更改为"id",这样就可以了

[
  {
    "id":"5078c3a803ff4197dc81fbfb",
    "email":"user1@gmail.com",
    "image":"some_image_url",
    "name":"Name 1"
  },
  {
    "id":"5078c3a803ff4197dc81fbfc",
    "email":"user2@gmail.com",
    "image":"some_image_url",
    "name":"Name 2"
  }
]
Run Code Online (Sandbox Code Playgroud)

我怎么能用Javascript,jQuery或Ruby,Rails做到这一点?

谢谢.

json

64
推荐指数
6
解决办法
10万
查看次数