小编Iva*_*van的帖子

检查JSON对象中是否存在值

我有下一个JSON:

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
Run Code Online (Sandbox Code Playgroud)

知道JSON对象中是否存在"dog"值的最佳方法是什么?

谢谢.

解决方案1

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
...
for (i=0; i < JSONObject.animals.length; i++) {
    if (JSONObject.animals[i].name == "dog")
        return true;
}
return false;
Run Code Online (Sandbox Code Playgroud)

解决方案2(JQuery)

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
...
$.map(JSONObject.animals, function(elem, index) {
 if (elem.name == "dog") 
     return true;
});
return false;
Run Code Online (Sandbox Code Playgroud)

解决方案3(使用some()方法)

function _isContains(json, value) {
    let contains = false;
    Object.keys(json).some(key => {
        contains = typeof json[key] === 'object' ? 
        _isContains(json[key], value) : json[key] === value;
        return …
Run Code Online (Sandbox Code Playgroud)

javascript json

15
推荐指数
4
解决办法
7万
查看次数

将调试标志放在flask应用程序中的位置

阅读烧瓶文档我发现有两个地方通常放置调试标志:

在我的项目中,我有app/init .py文件:

    from flask import Flask
    app = Flask(__name__) 
    #app.debug = True       
    from app import views
    if app.debug == True:
       ...
       ...
Run Code Online (Sandbox Code Playgroud)

和run.py文件:

from app import app
import os
port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port, debug = True)
Run Code Online (Sandbox Code Playgroud)

我在第二个选项(app.run)中看到的问题是,在执行run方法之前不会设置True值.因为在我的init .py文件中,我将使用默认值app.debug(False).通过第一个选项我没有那个问题.

是上面的权利还是有什么我看不到的?无论应用程序如何,放置调试值的最佳位置是什么?

python flask

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

用邮递员测试弹簧安全性

我已经使用Spring安全性配置了基于表单的身份验证.当我使用我的Web应用程序中的登录表单登录时,它工作正常.

它也适用于cURL:

curl --data "j_username=myname&j_password=mypassword" http://localhost:8080/test/j_spring_security_check --verbose
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用Postman:

在此输入图像描述

缺什么?我需要进行身份验证才能测试其他服务.

spring-security postman

8
推荐指数
4
解决办法
2万
查看次数

使用GTKLookAndFeel的JTextField和JLabel样式

我需要一个具有JLabel样式的JTextField(换句话说,我需要一个JLabel,但我希望能够选择文本).

JTextField value = new JTextField(valueText);
value.setEditable(false);
value.setBorder(BorderFactory.createEmptyBorder);
value.setForeground(UIManager.getColor("Label.foreground"));               
value.setFont(UIManager.getFont("Label.font"));
value.setBackground(UIManager.getBackground("Label.background"));
...
Run Code Online (Sandbox Code Playgroud)

它在Windows和Mac上运行良好:

JTextField就像一个JL​​abel(Mac)

但是在Ubuntu(GTKLookAndFeel)上我得到了下一个结果:

JTextField就像一个JL​​abel(Ubuntu)

其中"By"是JTextField,"Size"是JLabel

java ubuntu swing look-and-feel uimanager

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

使用Java 7在OSX中创建文件的时间

我需要在OS X Lion上获取文件的创建时间属性.我尝试过使用Java nio,但它会返回修改时间:

BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);     
System.out.println("Creation time: " + attr.creationTime());
Run Code Online (Sandbox Code Playgroud)

我已经读过类似的问题(用Java确定文件创建日期),我知道有些文件系统不支持文件创建时间戳,但是HFSP这样做不应该是BasicFileAttributes.creationTime方法在OS X上返回正确的值吗?

java filesystems timestamp java-7

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

在 Django Admin 中使用带有自定义 __init__ 的表单

我使用下面的代码在 Django Admin 中添加一个自定义表单:

class MyAdmin(admin.ModelAdmin):
    form = MyForm
Run Code Online (Sandbox Code Playgroud)

但是,该表单有一个重写的构造函数:

def __init__(self, author, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    self.author = author
Run Code Online (Sandbox Code Playgroud)

如何将 Admin 当前用户传递给表单构造函数?

python django django-forms django-admin

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

Safari 中混合 AngularJS 和 Angular 应用程序的性能下降

我最近开始使用升级模块将 AngularJS 应用程序迁移到 Angular 4。

我的 AngularJS 指令之一使用第三方库 ( ngFlow ) 使用XMLHttpRequest.send(). 在混合模式下运行时,上传在 Chrome 和 Firefox 中都可以正常工作。但是,在 Safari 中,应用程序在上传过程中变得非常缓慢,并且浏览器进程的 CPU 使用率达到 100%。

使用 Safari 网络工具,我看到有很多globalZoneAwareCallback来自 zone.js的调用。

我的印象是 Angular 区域正在为XMLHttpRequest上传期间发生的每个进度事件启动更改检测。

我知道我可以使用runOutsideAngularfromNgZone来避免这种情况,但我不知道如何在第三方 AngularJS 库中发生异步调用的情况下使用它,或者是否有任何其他解决方案可以解决此问题。

safari angularjs ng-flow zonejs angular

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