小编Tim*_*imo的帖子

用杰克逊将JSON反序列化为多态类型 - 完整示例给出了编译错误

我试图通过程序员布鲁斯的一个教程来完成,该教程应该允许多态JSON的反序列化.

完整的列表可以在这里找到 程序员布鲁斯教程(伟大的东西顺便说一句)

我已经完成了前五个没有问题,但我在最后一个(示例6)遇到了障碍,当然这是我真正需要工作的那个.

我在编译时遇到以下错误

ObjectMapper类型中的方法readValue(JsonParser,Class)不适用于参数(ObjectNode,Class)

它是由大量代码引起的

  public Animal deserialize(  
      JsonParser jp, DeserializationContext ctxt)   
      throws IOException, JsonProcessingException  
  {  
    ObjectMapper mapper = (ObjectMapper) jp.getCodec();  
    ObjectNode root = (ObjectNode) mapper.readTree(jp);  
    Class<? extends Animal> animalClass = null;  
    Iterator<Entry<String, JsonNode>> elementsIterator =   
        root.getFields();  
    while (elementsIterator.hasNext())  
    {  
      Entry<String, JsonNode> element=elementsIterator.next();  
      String name = element.getKey();  
      if (registry.containsKey(name))  
      {  
        animalClass = registry.get(name);  
        break;  
      }  
    }  
    if (animalClass == null) return null;  
    return mapper.readValue(root, animalClass);
  }  
} 
Run Code Online (Sandbox Code Playgroud)

具体由行

return mapper.readValue(root,animalClass);

有没有人遇到过这个问题,如果有的话,是否有解决方案?

我很感激任何人都可以给予任何帮助.

java polymorphism json compiler-errors jackson

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

如何在React.js中使用带有div的onClick

我正在制作一个非常简单的应用程序,您可以单击方形div来将其颜色从白色更改为黑色.但是,我遇到了麻烦.我想使用onClick函数允许用户点击一个方块来改变它的颜色,但它似乎不起作用.我尝试过使用跨度和空p标签,但这也不起作用.

这是有问题的代码:

var Box = React.createClass({
    getInitialState: function() {
        return {
            color: 'white'
        };
    },

    changeColor: function() {
        var newColor = this.state.color == 'white' ? 'black' : 'white';
        this.setState({
            color: newColor
        });
    },

    render: function() {
        return (
            <div>
                <div
                    style = {{background: this.state.color}}
                    onClick = {this.changeColor}
                >
                </div>
            </div>
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我在CodePen上的小项目的链接. http://codepen.io/anfperez/pen/RorKge

javascript state onclick event-handling reactjs

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

如何在forEach循环的数组中使用promise来填充对象

我在一个数组上运行一个forEach循环并进行两次返回promises的调用,我想填充一个对象说this.options,然后用它做其他的事情.现在我遇到异步问题,如果我使用下面的代码示例,我首先进入then函数.

$.when.apply($, someArray.map(function(item) {
    return $.ajax({...}).then(function(data){...});
})).then(function() {
    // all ajax calls done now
});
Run Code Online (Sandbox Code Playgroud)

这是下面的工作代码,但它只适用于数组中的第一个元素,因为我.then在响应中调用了结果函数.我想首先对数组的所有元素进行所有获取,然后调用结果函数来执行某些操作.

array.forEach(function(element) {
    return developer.getResources(element)
        .then((data) = > {
            name = data.items[0];
            return developer.getResourceContent(element, file);
        })
        .then((response) = > {
            fileContent = atob(response.content);
            self.files.push({
                fileName: fileName,
                fileType: fileType,
                content: fileContent
            });
            self.resultingFunction(self.files)
        }).catch ((error) = > {
            console.log('Error: ', error);
        })
});
Run Code Online (Sandbox Code Playgroud)

如何self.files在forEach循环完成后填充对象,然后使用files对象调用生成的函数?

javascript arrays foreach promise es6-promise

22
推荐指数
3
解决办法
6万
查看次数

HTML输入 - 已填写文本

我想知道,有没有办法将文本放入输入字段?我现在得到的是一个占位符,但这实际上是一个空的输入字段.所以这不是我想要的.我正在寻找一个实际填入输入字段的(种)占位符,所以不是"背景文本"

这是占位符:

http://i.stack.imgur.com/NWY3y.png

这就是我想要的:

http://i.stack.imgur.com/AfGSy.png

有没有办法做到这一点?

提前致谢!

html input placeholder

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

以编程方式推送时导航栏消失

我已经在应用程序上工作了一段时间,它从AppDelegate推送了一个视图控制器.当它被推送时,以前在视图控制器上的导航栏消失.现在它是一个静态导航栏(不是导航控制器的一部分),但它以前仍然没有用.我究竟做错了什么?有某种解决方法吗?

这是我用来推送它的AppDelegate中的代码:

var storyboard = UIStoryboard(name: "Main", bundle: nil)
var PostView: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("NewView")

var rootViewController = self.window!.rootViewController as! UINavigationController
rootViewController.pushViewController(PostView as! UIViewController, animated: true)
Run Code Online (Sandbox Code Playgroud)

pushViewController 是我想要推动的那个.

uinavigationcontroller ios swift

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

这是javascript类构造函数中没有定义的错误?

我无法在Employee类中获取我的名字参数!我不知道为什么我会得到错误this is not undefined!this是对当前对象权利!我不知道如何输出我的名字参数?

class Person {
    constructor(n, a) {
        var p = this;
        p.n = n;
        p.a = a;
        p.total = 0;
        p.a.map(x => p.total += parseInt(x)); //get total salary     
    }
    firstName() {
        return this.n = "Min Min ";
    }
    displayMsg() {
        return " and My yearly income is " + this.total;
    }
}

class Employee extends Person {
    constructor(name, age) {
        this.name = name;
    }
    lastName() {
        return this.name;
    }
    Show() {
        return "My …
Run Code Online (Sandbox Code Playgroud)

javascript class

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

未捕获的TypeError:$(...).stellar不是一个函数

我试图实现恒星插件,我可以看到,我已经包括了所有必要的js.但是,在dev工具控制台中,我不断得到'Uncaught TypeError:$(...).stellar不是函数'.

这就是我在head标签中的含义:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UFT-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>QE | Welcome</title>
<link rel="stylesheet" href="css/foundation.css" />
<link rel="stylesheet" href="css/stuff.css"/>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
 <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
 <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
 <script src="js/jquery.stellar.js"></script>
 <script src="js/scrip.js"></script>
 <script src="js/jquery.nicescroll.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是错误所指的scrip.js文件:

$(document).ready(function() {
     $(window).stellar();

});

$(document).ready(

     function() { 

     $("html").niceScroll({
         cursorcolor:"rgba(30,30,30,.5)",
         zindex:999,
         scrollspeed:100,
         mousescrollstep:50,
         cursorborder:"0px solid #fff",
     });

});
Run Code Online (Sandbox Code Playgroud)

请帮我

html javascript jquery

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

如何在测试异步代码时检查Mocha中的断言错误

当使用Mocha测试异步代码并且我的一个断言失败时,所有Mocha都会报告超时错误.有没有办法改善这个?如何知道断言失败的原因以及原因?

mocha

  Contact
    #getContacts()
      1) should return at least 1 contact


  0 passing (3s)
  1 failing

  1) Contact #getContacts() should return at least 1 contact:
     Error: timeout of 3000ms exceeded. Ensure the done() callback is being called in this test.
Run Code Online (Sandbox Code Playgroud)

码:

var assert         = require("assert");
var contact        = require("../lib/contact.js");
var chai           = require('chai');
var should         = chai.should();

describe('Contact', function() {
  describe('#getContacts()', function() {
    it('should return at least 1 contact', function(done) {
      contact.getContacts().then(function(contacts) {
        assert.equal(4,2)

        done()
      });
    })
  })
});
Run Code Online (Sandbox Code Playgroud)

mocha.js node.js

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

从forEach创建对象

我试图找出是否有办法将此代码重写为单个对象创建:

my_array = [
  {key: 1, value: "foo"},
  {key: 2, value: "bar"}
];

let my_obj = {};
my_array.forEach((elem) => {
  my_obj[elem.key] = elem.value;
});
Run Code Online (Sandbox Code Playgroud)

我想做的是:

my_array = [
  {key: 1, value: "foo"},
  {key: 2, value: "bar"},
];

const my_obj = ...?
Run Code Online (Sandbox Code Playgroud)

有没有办法进行一次转换,相当于forEach通话?

javascript functional-programming javascript-objects

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

polymer iron-ajax:如何将数据从输入元素绑定到iron-ajax的body属性

我最近遇到了将输入元素的数据绑定到iron-ajax的"body"属性的问题.当我在聚合物0.5上使用core-ajax时,我可以很容易地绑定这样的值:

<core-ajax
           id="ajax"
           method="POST" 
           contentType="application/json"
           url="{{url}}"   
           body='{"username":"{{username}}", "password":"{{password}}"}'
           handleAs="json"
           on-core-response="{{responseHandler}}">
</core-ajax>
Run Code Online (Sandbox Code Playgroud)

现在我尝试用铁-ajax做同样的事情.但它会逐字地发送"{{username}}"和"{{password}}"而不是其值.这是代码:

<iron-ajax
           id="ajax"
           method="POST" 
           contentType="application/json"
           url="{{url}}"   
           body='{"username":"{{username}}", "password":"{{password}}"}'
           handle-as="json"
           on-response="responseHandler">
</iron-ajax>
Run Code Online (Sandbox Code Playgroud)

如何使它工作?谢谢您的回答 :)

html javascript ajax polymer

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