问题列表 - 第45083页

GSON:知道要转换为什么类型的对象?

我正在考虑将Google的GSON用于我的Android项目,该项目将从我的Web服务器请求JSON.返回的JSON将是......

1)已知类型的成功响应(例如:类"用户"):

{
    "id":1,
    "username":"bob",
    "created_at":"2011-01-31 22:46:01",
    "PhoneNumbers":[
        {
            "type":"home",
            "number":"+1-234-567-8910"
        },
        {
            "type":"mobile",
            "number":"+1-098-765-4321"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

2.)不成功的响应,它将始终采用相同的基本结构.

{
    "error":{
        "type":"Error",
        "code":404,
        "message":"Not Found"
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望GSON转换为正确的类型,具体取决于error上面的键/值对的存在.我能想到的最实用的方法如下,但我很好奇是否有更好的方法.

final String response = client.get("http://www.example.com/user.json?id=1");
final Gson gson = new Gson();

try {
    final UserEntity user = gson.fromJson(response, UserEntity.class);
    // do something with user
} catch (final JsonSyntaxException e) {
    try {
        final ErrorEntity error = gson.fromJson(response, ErrorEntity.class);
        // do something with error
    } catch (final JsonSyntaxException e) …
Run Code Online (Sandbox Code Playgroud)

java json gson

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

如何在PHP中获取视频持续时间,维度和大小?

我想知道如何在PHP中获取上传的视频文件的持续时间,尺寸和大小.该文件可以是任何视频格式.

php video duration ffmpeg

41
推荐指数
3
解决办法
10万
查看次数

如何在考虑用户权限的情况下执行文件/目录操作?

我有一个服务器应用程序将在系统帐户下运行,因为在任何给定时间,它将代表系统上的任何用户处理请求.这些请求包含操作文件系统的指令.

这是一个问题:程序需要在执行操作时记住特定用户的特权.例如,如果其权限是,joe则无法修改./home/larry755

目前我的策略是这样的

  • 获取文件的所有者/组
  • 将其与尝试执行操作的用户的用户ID /组ID进行比较
  • 如果匹配(或者如果不匹配),请使用文件中权限字段的相应部分来允许或拒绝该操作

这是明智的吗?有更简单的方法吗?

起初,我正在考虑在用户的帐户下运行应用程序的多个实例 - 但这不是一个选项,因为那时只有一个实例可以侦听给定的TCP端口.

unix privileges file-manipulation

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

无需离开主行即可返回正常模式

我一直在尝试使用vim,对速度和可访问性的强调对于资深程序员来说是有意义的.我之前使用的是emacs,目前使用nano的组合,以及像geditgeany这样的东西.

我对需要不断切换模式感到困惑,并且从插入模式返回到正常模式需要离开主行Esc.我之前已经读过,这个关键字是Tab在某些首次使用vim的系统上,这更有意义,但在当前的系统中,预计选项卡在编码时会参与智能缩进.

返回正常模式是您需要始终执行的操作.是否有一些替代键映射使这更快,或我只是不知道这样做的映射?

vim key mode

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

使用jQuery查找表单内所有输入元素的最佳方法

我需要在表单内找到所有表单元素,并在值的变化时触发标志.目前我正在使用以下方法.我不确定这是否有效.但它肯定适用于:.find('input[type=text])

$('#form').find('input[type=text], input[type=radio], input[type=checkbox], select, textarea').each(function(){
  $(this).change(function(){
    if( change !== 1 ) change = 1;
  });
})
Run Code Online (Sandbox Code Playgroud)

现在我用逗号添加了多个元素.这是否有效,这是实现这一目标的最佳方式.

感谢所有的帮助.

谢谢!

javascript jquery jquery-selectors

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

用于尝试Oracle SQL查询的在线数据库?

我正在攻读本科数据库课程.

我想知道是否有任何在线网站允许我对已经构建和填充的数据库(具有已知模式)进行查询,因此我不必安装SQL并自己填充数据.

我目前正在手工练习我在这里的工作簿,但是我有点担心我可能会做错了而且很难检查它们的正确性,而不用针对"真实的东西"进行测试.

谢谢

(在我们的课程中,我们使用的是Oracle)

sql database oracle

53
推荐指数
2
解决办法
10万
查看次数

Python无法与Minecraft服务器的子进程通信

我正在尝试为Minecraft服务器编写处理程序/控制器.我的问题是,我似乎无法通过写作和阅读来正常工作.当客户端发出使用服务器类方法的命令时,serverComMinecraft服务器的文本/日志开始进入Python窗口/ Python控制台,并且连接的客户端挂起.此外,似乎在我使用之后Popen,Minecraft服务器在我写入服务器(aka serverCom方法)之前并没有真正启动.如果有人想知道,则Popen转到打开.jar文件的批处理文件.这是在Windows XP上.

import subprocess
import os
import configobj
import socket
import threading
from time import sleep

config = configobj.ConfigObj("config.ini")
cHost = config["hostip"]
cPort = int(config["hostport"])
cBuffer = int(config["serverbuffer"])
cClients = int(config["numberofclients"])
cPassword = config["password"]

class server(object):
    def __init__(self):
        self.process = False
        self.folder = "C:\\servers\\minecraft-danny"
        self.max = configobj.ConfigObj("%s\\simpleserver.properties"%self.folder)["maxPlayers"]

    def serverStart(self):
        if not self.process:
            self.process = subprocess.Popen("java -Xmx1024m -Xms1024m -jar minecraft_server.jar nogui", cBuffer, None, subprocess.PIPE, subprocess.PIPE, subprocess.STDOUT, cwd = self.folder)
            return True
        return …
Run Code Online (Sandbox Code Playgroud)

python subprocess minecraft

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

如何使用LINQ-to-SQL查询sys表?

我正在使用LINQPad,我想从sys.dm_os_child_instances表中获取实例管道名称列表.如何在LINQ-to-SQL中表达?

这不起作用:

from n in sys.dm_os_child_instances
select n
Run Code Online (Sandbox Code Playgroud)

我认为这不重要,但我使用的是SQL Server Express 2008.

此外,是的,我知道我可以从LINQPad运行原始SQL.

sql-server linqpad linq-to-sql

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

参考透明度

当在函数式编程中使用术语"引用透明"时,术语"不可观察"的含义是什么?

functional-programming scala referential-transparency

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

为什么流行的框架在内部使用字节码操作?

我听说很多框架(Struts,Spring,Hibernate,AspectJ)在内部使用字节码操作.使用字节码操作有哪些令人信服的理由?我期待每个特定框架至少有一个用例的答案.

java frameworks bytecode-manipulation

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