我试图通过程序员布鲁斯的一个教程来完成,该教程应该允许多态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);
有没有人遇到过这个问题,如果有的话,是否有解决方案?
我很感激任何人都可以给予任何帮助.
我正在制作一个非常简单的应用程序,您可以单击方形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
我在一个数组上运行一个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对象调用生成的函数?
我想知道,有没有办法将文本放入输入字段?我现在得到的是一个占位符,但这实际上是一个空的输入字段.所以这不是我想要的.我正在寻找一个实际填入输入字段的(种)占位符,所以不是"背景文本"
这是占位符:

这就是我想要的:

有没有办法做到这一点?
提前致谢!
我已经在应用程序上工作了一段时间,它从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 是我想要推动的那个.
我无法在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) 我试图实现恒星插件,我可以看到,我已经包括了所有必要的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)
请帮我
当使用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) 我试图找出是否有办法将此代码重写为单个对象创建:
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通话?
我最近遇到了将输入元素的数据绑定到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)
如何使它工作?谢谢您的回答 :)