小编FK8*_*K82的帖子

在Java中编写地图文字样式是否有最佳实践?

简而言之,如果你想在Java中编写一个例如常量的映射,例如Python和Javascript,你会把它写成文字,

T<String,String> CONSTANTS =
{
    "CONSTANT_NAME_0": CONSTANT_VALUE_0 ,
    "CONSTANT_NAME_1": CONSTANT_VALUE_1 ,
    "CONSTANT_NAME_2": CONSTANT_VALUE_2 ,
    //...
} ;
Run Code Online (Sandbox Code Playgroud)

是否有一个Class或任何预设Object可用于编写这样的数据结构?

java class object map literals

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

如何使用Google的Gson API正确反序列化JSON?

简而言之,这是我想在JAVA中解析的JSON对象的草图:

{
    object1: {
            item1: //[String | Array | Object] ,
            item2: // ...
            //<> more items
    object2: { /* .. */ }
    //<> more objects
}
Run Code Online (Sandbox Code Playgroud)

这些是我为解析而创建的POJO(import为了简洁,我将省略语句):

(1)完整JSON对象的表示

public class JObjectContainer {

    private List<JObject> jObjects ;

    public JObjectContainer() { }

    //get & set methods

}
Run Code Online (Sandbox Code Playgroud)

(2)嵌套对象的表示:

 public class JObject {

    private String id ;
    private List<JNode> jObjects ;

    public JObject() { } 

    //get & set methods

}
Run Code Online (Sandbox Code Playgroud)

(3)项目的代表:

 public class JNode {

    private JsonElement item1 …
Run Code Online (Sandbox Code Playgroud)

java api serialization json gson

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

为什么jQuery.ajax()会在url中添加参数?

我有一个数据获取方法,用于jQuery.ajax()获取xml文件.

/*    */data: function() {                                                                                                                                          
                                                                                                                                                                /* debug */try {
        var url = arguments[0] ;                                                                                                                                
        var type = arguments[1] ;                                                                                                                               
        var scope = arguments[2] ;                                                                                                                              
        var callback = arguments[3] ;                                                                                                                           

        var self = this ;                                                                                                                                       
            if(this.cache[url]) {                                                                                                                               
                callback(this.cache[url]) ;                                                                                                                     
            } else if(!this.cache[url]) {                                                                                                                       

                $.ajax({                                                                                                                                        
                    type: "GET" ,                                                                                                                               
                    url: url ,                                                                                                                                  
                    dataType: type ,                                                                                                                            
                    cache: false ,                                                                                                                              
                    success: function(data) {                                                                                                                   

                            if(type == "text/xml") {                                                                                                                                                                                                                                                                                
                                var myJson = AUX.json ;                                                                                                         
                                var jsonString = myJson.build(data,scope,null) ;                                                                                
                                var jsonObject = $.parseJSON(jsonString) ;                                                                                      
                                self.cache[url] …
Run Code Online (Sandbox Code Playgroud)

javascript parameters ajax jquery

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

如何在Haskell中的实例方法中应用函数约束?

我正在学习如何在Haskell中使用类型类.

考虑T具有类型约束类函数的类型类的以下实现f.

class T t where
    f :: (Eq u) => t -> u 

data T_Impl = T_Impl_Bool Bool | T_Impl_Int Int | T_Impl_Float Float 
instance T T_Impl where
    f (T_Impl_Bool x) = x
    f (T_Impl_Int x) = x
    f (T_Impl_Float x) = x
Run Code Online (Sandbox Code Playgroud)

当我将其加载到GHCI 7.10.2时,我收到以下错误:

Couldn't match expected type ‘u’ with actual type ‘Float’
      ‘u’ is a rigid type variable bound by
          the type signature for f :: Eq u => T_Impl -> …
Run Code Online (Sandbox Code Playgroud)

haskell constraints instance typeclass

6
推荐指数
2
解决办法
985
查看次数

在javascript中"分阶段"执行函数

这是我关于stackoverflow的第一篇文章,所以如果我遇到像一个完全的傻瓜,或者如果我不能让自己完全清楚,请不要太过刻板.:-)

这是我的问题:我正在尝试编写一个javascript函数,通过检查第一个函数的完成然后执行第二个函数将两个函数"绑定"到另一个函数.

对此的简单解决方案显然是编写一个元函数,在其范围内调用两个函数.但是,如果第一个函数是异步的(特别是一个AJAX调用)而第二个函数需要第一个函数的结果数据,那就根本不起作用.

我对解决方案的想法是给第一个函数一个"标志",即一旦调用它就创建一个公共属性"this.trigger"(初始化为"0",在完成时设置为"1"); 这样做可以使另一个函数检查标志的值([0,1]).如果满足条件("trigger == 1"),则应调用第二个函数.

以下是我用于测试的抽象示例代码:

<script type="text/javascript" >

/**/function cllFnc(tgt) { //!! first function

    this.trigger = 0 ;
    var trigger = this.trigger ;

    var _tgt = document.getElementById(tgt) ; //!! changes the color of the target div to signalize the function's execution
        _tgt.style.background = '#66f' ;

    alert('Calling! ...') ;

    setTimeout(function() { //!! in place of an AJAX call, duration 5000ms

            trigger = 1 ;

    },5000) ;

}

/**/function rcvFnc(tgt) { //!! second function that should get called upon …
Run Code Online (Sandbox Code Playgroud)

javascript function execution phase

5
推荐指数
3
解决办法
508
查看次数

Javascript反向字母表

所以我最近一直在使用.replace()函数,并希望无论用户输入什么都能使其反转.(Aka a - > z,A - > Z,b - > y,B - > Y,......)

我正在使用函数堆栈,所以我只是为每个字母添加了.replace().replace()...但当然这不会起作用,因为每当它命中n时,它将开始反转所有进度而我最终导致翻译不准确.知道如何解决这个问题,因为据我所知,JS没有像Python这样的.reverse()函数吗?

万一你需要它,这是我的代码

//replacing letters
lettertext = ttext.replace("a", "z")
.replace("A", "Z")
.replace("b", "y")
.replace("B", "y")
.replace("c", "x")
.replace("C", "X")
.replace("d", "w")
.replace("D", "W")
.replace("e", "v")
.replace("E", "V")
.replace("f", "u")
.replace("F", "U")
.replace("g", "t")
.replace("G", "T")
.replace("h", "s")
.replace("H", "S")
.replace("i", "r")
.replace("I", "R")
.replace("j", "q")
.replace("J", "Q")
.replace("k", "p")
.replace("K", "P")
.replace("l", "o")
.replace("L", "O")
.replace("m", "n")
.replace("M", "N")
.replace("n", "m")
.replace("N", "M")
.replace("o", "l")
.replace("O", "L") …
Run Code Online (Sandbox Code Playgroud)

javascript replace alphabet

5
推荐指数
0
解决办法
527
查看次数

Regex没有使用版本号正确分解文件路径

我正在使用正则表达式模式来分解servlet的上下文路径.

/{1,2}([^/{1,2}]+)
Run Code Online (Sandbox Code Playgroud)

这适用于简单的路径,如/User/folder1/folder2/folder3/.

然而,在更真实的场景中,如果其中一个文件夹名称包含虚线版本号,则似乎存在问题,例如:/User/username/Library/Tomcat/apache-tomcat-6.0.24.

在这种情况下Matcher.group(1)将返回apache-tomcat-6.0.而不是apache-tomcat-6.0.24.我不知道为什么会这样; 我相信不应该.

任何见解?

编辑

这有效:

/{1,2}([^/]+)
Run Code Online (Sandbox Code Playgroud)

java regex file version path

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

如何使用Python字典创建Protobuf结构?

我得到以下属性错误

AttributeError:“ Struct”对象没有属性“ fields”

如果我想使用update的方法google.protobuf.internal.well_known_types.Struct

Protobuf版本是3.71。


MWE

from google.protobuf.internal.well_known_types import Struct

s = Struct()
s.update({"key": "value"})
Run Code Online (Sandbox Code Playgroud)

这个问题的更大范围是,我想google.protobuf.Struct在python中创建一个带有字段的消息,以发送到生成的RPC客户端。

有人可以帮忙吗?

struct dictionary protocol-buffers python-3.x

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

为什么 zsh 没有正确执行我的正则表达式?

我开始使用zsh一段时间(使用此处描述的brew 安装)。

一切正常,但我注意到正则表达式运算符=~并没有真正起作用。


例如,如果我想从路径中提取 JSON 文件的文件名,我会在 bash 中得到正确的结果,但在 zsh 中却没有。

IE

bash -s 
[[ "/a/b/c/file.json" =~ ([[:alnum:]\-]+)\.json$ ]] && echo ${BASH_REMATCH[1]}
Run Code Online (Sandbox Code Playgroud)

工作并产生,file但在 zsh 中同样的事情只是打印一个空行。


有谁知道为什么以及如何解决这个问题?我是否必须以某种方式启用正则表达式支持?

regex zsh

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