我有一个非常漫长而复杂的json对象,但我只想获得第一级的项目/键!
例:
{
"1": "a",
"3": "b",
"8": {
"12": "c",
"25": "d"
}
}
Run Code Online (Sandbox Code Playgroud)
我希望得到1,3,8!
我找到了这段代码:
for key, value in data.iteritems():
print key, value
Run Code Online (Sandbox Code Playgroud)
但它打印所有键(也是12和25)
我只是想编写一个漂亮的物理游戏.
球碰撞看起来不错,但如果球碰撞得太慢,它们会互相"粘".我不知道他们为什么这么做.
这是我的碰撞功能:
private void checkForCollision(ArrayList<Ball> balls) {
for (int i = 0; i < balls.size(); i++) {
Ball ball = balls.get(i);
if (ball != this && ball.intersects(this)) {
this.collide(ball, false);
}
}
}
public boolean intersects(Ball b) {
double dx = Math.abs(b.posX - posX);
double dy = Math.abs(b.posY - posY);
double d = Math.sqrt(dx * dx + dy * dy);
return d <= (radius + b.radius);
}
private void collide(Ball ball, boolean b) {
double m1 = this.radius;
double …Run Code Online (Sandbox Code Playgroud) 我实际上检查了我的代码一百次,但我找不到错误:
我得到的错误:解析错误:语法错误,意外$ end在/home/tennox/public_html/php/kalender.php第46行
我试图做一个计算复活节星期日的函数,在另一个脚本中没有其他所有它只是工作,但在这一个没有.另一种方式围绕同样的事情!
<?php
$year = isset($_POST['year']) ? intval($_POST['year']) : date('Y');
$months = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$days = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
$ostern = getOsterSonntag($year);
?>
<form action="kalender.php" method="POST" target="_self">
<input type="text" name="year" value="<?php echo $year; ?>">
</form>
<table border="1" cellspacing="0">
<?php
for($y=0; $y<32; $y++) {
echo "<tr height=\"20\">";
for($x=1; $x<=12; $x++) {
echo "<td width=\"5%\">";
$date = strtotime("$y.$x.$year");
$day = date("d", $date);
$dayname = $days[date("w", …Run Code Online (Sandbox Code Playgroud) 问题:
我有两个接口(这里GenCarry和Gen):
public interface GenCarry<T extends Gen> {
GenCarry<T> setGen(T gen);
}
public interface Gen<T extends GenCarry> {
void applyOn(T carry);
}
Run Code Online (Sandbox Code Playgroud)
它在我忽略'rawtypes'警告时起作用,但是试图完成它们我不会太过分:
GenCarry<T extends Gen<GenCarry<T>>>
Gen<C extends GenCarry<Gen<C>>> -> error: not a valid substitute for the bounded parameter.
Run Code Online (Sandbox Code Playgroud)
题:
如果这样的界面看起来如何完整 - 或者甚至是可能的?
是否有更好的方法来"概括"这样的界面?
我需要从大约70.000(子)键/对象的JSON格式文本中获取主键(设备)它看起来像这样:
{
"1":{...........}
"4":{...........}
"9":{...........}
}
Run Code Online (Sandbox Code Playgroud)
我需要得到"1","4"和"9".但是我现在的方式是解析文本需要大约2分钟
json = json.loads(response.text) #this takes so long!
devices = json.keys()
Run Code Online (Sandbox Code Playgroud)
因为我在Raspberry Pi上运行它!
有没有更好的办法?
编辑: 我收到服务器上运行的JSON API的数据:
http://.../ZWaveAPI/Run/devices #this is an array
Run Code Online (Sandbox Code Playgroud)
EDIT3:
最终工作代码:(运行2-5秒!:)
import ijson.backends.python as ijson
import urllib
parser = ijson.parse(urllib.urlopen("http://.../ZWaveAPI/Run/devices"))
list = []
for prefix,event,value in parser:
if event == "map_key" and len(prefix) == 0:
list.append(value)
return list
Run Code Online (Sandbox Code Playgroud) 这些命令如何导致不同的输出?
?> ssh host bash -c 'cd /tmp; pwd'
/home/manu
?> ssh host "bash -c 'cd /tmp; pwd'"
/tmp
Run Code Online (Sandbox Code Playgroud)
这里对类似问题的回答指出:
尾随参数组合成一个字符串,该字符串作为参数传递给远程计算机上登录shell的-c选项.
如果*我能理解这一点,但在这个例子中本地评估哪个部分?此外,--在bash命令之前没有帮助.