相关疑难解决方法(0)

如何使用jQuery搜索JSON树

我有一个关于在JSON中搜索特定信息的问题.例如,我有这个JSON文件:

 {
    "people": {
        "person": [
            {
                "name": "Peter",
                "age": 43,
                "sex": "male"
            }, {
                "name": "Zara",
                "age": 65,
                "sex": "female"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何通过名称找到一个特定的人并用jQuery显示那个人的年龄?例如,我想在JSON中搜索名为Peter的人,当我找到匹配项时,我想显示有关该匹配项的其他信息(例如,在本案例中名为Peter的人),例如人的年龄.

javascript tree search jquery json

69
推荐指数
7
解决办法
23万
查看次数

迭代嵌套的JavaScript对象

我正在尝试遍历嵌套对象以检索由字符串标识的特定对象.在下面的示例对象中,标识符字符串是"label"属性.我无法绕过如何遍历树以返回适当的对象.任何帮助或建议将不胜感激.

var cars = {
  label: 'Autos',
  subs: [
    {
      label: 'SUVs',
      subs: []
    },
    {
      label: 'Trucks',
      subs: [
        {
          label: '2 Wheel Drive',
          subs: []
        },
        {
          label: '4 Wheel Drive',
          subs: [
            {
              label: 'Ford',
              subs: []
            },
            {
              label: 'Chevrolet',
              subs: []
            }
          ]
        }
      ]
    },
    {
      label: 'Sedan',
      subs: []
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript iteration

50
推荐指数
3
解决办法
8万
查看次数

如何遍历JavaScript对象的深层嵌套属性?

我有一个具有3级嵌套的JavaScript对象.我很难从第3级嵌套中获取值.

我已经对SO进行了一些研究并得到了基本的循环,但我似乎无法超越第一级.

这是我的代码

var customers = {
   "cluster": [{
      "id": "cluster1.1",
      "color": "blue",
      "flights": "784",
      "profit": "524125",
      "clv": "2364",
      "segment": [{
         "id": "segment1.1",
         "color": "green",
         "flights": "82",
         "profit": "22150",
         "clv": "1564",
         "node": [{
            "id": "node1.1",
            "color": "orange",
            "xpos": "1",
            "ypos": "1"
         }, {
            "id": "node1.2",
            "color": "orange",
            "xpos": "1",
            "ypos": "2"
         }, {
            "id": "node1.3",
            "color": "orange",
            "xpos": "1",
            "ypos": "3"
         }, {
            "id": "node1.4",
            "color": "orange",
            "xpos": "1",
            "ypos": "4"
         }]
      }, {
         "id": "segment1.2",
         "color": "red",
         "flights": "2", …
Run Code Online (Sandbox Code Playgroud)

javascript

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

在猫鼬中,我如何要求字符串字段不为空或未定义(允许长度为 0 的字符串)?

我已经尝试过这个,它允许null,undefined和完全省略要保存的密钥:

{
  myField: {
    type: String,
    validate: value => typeof value === 'string',
  },
}
Run Code Online (Sandbox Code Playgroud)

这不允许''(空字符串)被保存:

{
  myField: {
    type: String,
    required: true,
  },
}
Run Code Online (Sandbox Code Playgroud)

如何在不禁止空字符串的情况下强制一个字段是 aString并且存在并且既不在 Mongoose 中null也不undefined在 Mongoose 中?

mongoose mongoose-schema

11
推荐指数
2
解决办法
7773
查看次数

如何在javascript中获取对象的名称?

例如,我有这样一个对象:

var a = {
    'light': 'good',
    'dark' : {
        'black': 'bad',
        'gray' : 'not so bad'
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的代码:

var test = function(obj) {
    // do smth with object
    // I need to get obj's name ('dark' in my way)
}
test(a.dark);
Run Code Online (Sandbox Code Playgroud)

如何在函数体中获取对象的名称.所以我的意思是我应该知道obj的名字是"黑暗的".

我已经尝试用firebug检查对象,但它只显示对象的属性.它没有显示一些内部方法或属性,我将能够知道

谢谢.

javascript object

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

如何遍历嵌套对象的所有键和值?

我正在使用javascript(在服务器端和客户端)开发Web应用程序.我作为json发送来回数据,我希望能够在另一方面解析它.问题是我内部有几层嵌套对象,所以这就是我被困住的地方.例如,我发送以下数据:

var data = {};
data.title = "My Title";
data.metric = {
   fact : "Malicious code detected",
   technique : "XSS"
};
data.subject = {
   userType : "ADMIN",
   userName : "Jack",
   clientNumber : "000",
   terminal : "192.168.1.1"
};
data.context = {
   environment : {
      session : "00",
      hostname : "mainServer",
      sysType : "production"
   },
   resource : {
      wpt : "DIA",
      pid : "1024"
   }
};
Run Code Online (Sandbox Code Playgroud)

另一方面,当我收到它时,我只想完全遍历此对象,并打印其内容.我在stackoverflow上看到了很多类似的问题,但没有一个有用.这是我到目前为止所做的:

function display(data) {
    var resp = "";
    var prop = null;
    var dataJSON = JSON.parse(data); …
Run Code Online (Sandbox Code Playgroud)

javascript parsing json

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

如何将树转换为数组?

我有一个树对象,它是不规则的树,每当我运行代码时,孩子的名字和键值就可以更改。例如:

{
    addressRouter: 192.168.0.1,   
    addresses: 
        {
            address1: 'A',   

        },
        {
            address2: 'B',   

        },
        {
            ports: [
                {
                    portA: 'C',   
                    portB: null
                },


        }
    route: 'D',

}
Run Code Online (Sandbox Code Playgroud)

所以名称:“ addressRouter”,“ addresses”,“ address1”等及其键是不可预测的,但是我需要将树对象转换为以下格式的数组:

addressRouter
addresses/address1
addresses/address2
addresses/ports/portA
addresses/ports/portB
route
Run Code Online (Sandbox Code Playgroud)

然后把钥匙放在旁边。

我有此功能来构造树,这是正确的:

const iterate = (obj, obj2) => {
  Object.keys(obj).forEach(key => {

    obj2[key] = obj[key];

    if (typeof obj[key] === 'object') {
        iterate(obj[key], obj2)
    }
  })
}
Run Code Online (Sandbox Code Playgroud)

但是在调试之后,我意识到它并没有获得所有分支。

arrays tree list node.js

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

用JSON中的引号替换null

本主题针对PHP和Rails在本网站上进行了讨论,但我没有看到标准JavaScript的任何内容.

如果我的JSON对象在一对中具有空值,则它看起来像这个id:null但我需要它看起来像这个id:""

由于JSON不支持单引号,我不确定如何执行此操作.

目前的结果

{"id":"e6168d55-1974-e411-80e0-005056971214","label":"List","parentId":null}
Run Code Online (Sandbox Code Playgroud)

期望的结果

{"id":"e6168d55-1974-e411-80e0-005056971214","label":"List","parentId":""}
Run Code Online (Sandbox Code Playgroud)

javascript json

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

多维javascript对象中的递归查找和替换

当它们匹配正则表达式(例如**myVar**)时,我需要查找和替换对象中的值;我需要循环的对象是用户定义的,结构各不相同。

这是一个示例对象,为简单起见进行了缩短。

var testObject = {
    name: "/pricing-setups/{folderId}", 
    method: "POST", 
    endpoint: "/pricing-setups/:folderId", 
    functionName: "create",
    Consumes: null,
    filename: "apicontracts/pricingsetups/PricingSetupServiceProxy.java",
    pathParam: [
        {$$hashKey: "06S",
          key: "folderId",
          value: "**myVar**"}
    ],
    queryParam: [],
    request_payload: "{'title':'EnterAname'}",
    returnList: []
}
Run Code Online (Sandbox Code Playgroud)

这个对象被传递到一个主函数中,该函数使用传入的对象构建一个 angularjs 资源对象。

这是我正在使用的结构:

function getTestResult(dataSource, options) {
      //input into the service should be api obj and selected environment obj

      //extend the passed object with options if passed
      var opts = $.extend({}, dataSource, options);
      //swap the {param} syntax for :param in opts.endpoint
      opts.endpoint = opts.endpoint.replace(/\}/g, "").replace(/\{/g, …
Run Code Online (Sandbox Code Playgroud)

javascript json angularjs lodash

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