问题列表 - 第46771页

编写更复杂的json模式,这些模式依赖于其他键

我一直在编写简单的JSON模式,但我遇到了一个更复杂的API输入调用.我有一个宁静的结束路线,可以采用3种非常不同类型的JSON:

本地主机/富

可以采取:

{"type":"ice_cream","cone":"waffle"......}

要么

{"type":"hot_dog","bun":"wheat"......}

如果"type"键包含"ice_cream",我只想看到键"cone"而不是键"bun".同样,如果"type"包含"hot_dog",我只想看"bun"而不是"cone".我知道我可以模式匹配,以确保我只看到类型"ice_cream"或键入"hot_dog",但我不知道如果该键设置为该值,如何强制某些其他字段的要求.我看到有一个名为"依赖"的json架构字段,但我没有找到任何关于如何使用它的好例子.

顺便说一句,我不确定这个输入JSON是否是一个好形式(有效地重载它所采用的JSON结构的类型),但我没有更改api的选项.

javascript validation schema json jsonschema

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

Android更新SQLite数据库架构?

更新数据库架构的最佳做法是什么?我可以使用SQL命令发送文本文件.应用程序可以检查文本文件并执行所需的命令.我猜我会有一个标志,表明更新已经完成.我还没有找到一种方法从应用程序中删除资产文件夹中的文件,这是更新数据库后最好的事情.

有什么想法吗?

sqlite android

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

Amazon S3出现奇怪的TCP问题

这个问题之所以存在是因为它具有历史意义,但它不被认为是本网站的一个好的,主题上的问题,所以请不要将它作为证据,你可以在这里提出类似的问题.

更多信息:https://stackoverflow.com/faq

我有一个奇怪的TCP问题根本没有意义.我正在撕扯我的头发.

Amazon S3下载文件(并且只有Amazon S3-其他所有站点都能正常工作)连接中断的时间有一定百分比.这只发生在西雅图的服务器上,NAT路由器后面有一个Web服务器.直接从路由器连接工作正常.从我们在维多利亚州的服务器一切正常,我们根本无法复制这一点.

  • 西雅图的Web服务器(尝试了10个不同的服务器) - > SNAT路由器(2个不同的路由器;旧内核和新内核) - > Amazon S3 =不起作用~10%的时间
  • 西雅图的Web服务器 - > SNAT路由器 - >任何其他网站=工作
  • 路由器框 - > Amazon S3 =工作
  • 维多利亚的Web服务器 - >维多利亚的SNAT路由器 - > Amazon S3 =工作

我试过的事情:

  • 禁用窗口缩放
  • 降低窗口大小
  • 将路由器升级到最新的内核
  • 完全禁用防火墙

在失败的情况下,亚马逊(或沿途的东西)向我们发送一个868长度的数据包而不是预期的1500字节数据包.服务器看到数据包后回复RST数据包(发生错误)并断开连接.

任何帮助将不胜感激!

以下是两个TCP转储 -

------------ Begin Error Case TCP Dump -------------
tcpdump -r /tmp/s3doesntwork-died 
reading from file /tmp/s3doesntwork-died, link-type EN10MB (Ethernet)
19:58:42.542189 IP locum.sparklit.com.39491 > 189-81.amazon.com.www: S 193799772:193799772(0) win 5840 <mss 1460,sackOK,timestamp …
Run Code Online (Sandbox Code Playgroud)

networking tcp nat amazon-s3

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

当连接耳机时,如何强制音频从iPhone扬声器中传出?

我正在尝试为我的某个iPhone应用添加扬声器功能.我已经创建了录制功能,但是当我播放录制的音频时,它只播放到手机耳机.

我需要的是即使连接了耳机,也要在扬声器上播放录制的文件.我怎样才能重新路由音频来做到这一点?

iphone cocoa-touch core-audio

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

从数组中删除重复的项目

我使用下面的代码行循环遍历数据库中的表:

$items_thread = $connection -> fetch_all($sql);
Run Code Online (Sandbox Code Playgroud)

如果我打印出阵列:

print_r($items_thread);
Run Code Online (Sandbox Code Playgroud)

我会得到这个:

Array
(
    [0] => Array
        (
            [RecipientID] => 3
            [RecipientScreenname] => Tom L
            [RecipientFirstname] => Thomas
            [RecipientEmail] => info@xx.com
        )

    [1] => Array
        (
            [RecipientID] => 3
            [RecipientScreenname] => Tom L
            [RecipientFirstname] => Thomas
            [RecipientEmail] => info@xx.com
        )

    [2] => Array
        (
            [RecipientID] => 1
            [RecipientScreenname] => Lau T
            [RecipientFirstname] => TK
            [RecipientEmail] => lau@xx.co.uk
        )

)
Run Code Online (Sandbox Code Playgroud)

但我想摆脱数组中的重复项,所以我使用 array_unique

print_r(array_unique($items_thread));
Run Code Online (Sandbox Code Playgroud)

我得到了下面的奇怪结果,这不是我想要的:

Array
(
    [0] => Array
        (
            [RecipientID] => 3
            [RecipientScreenname] …
Run Code Online (Sandbox Code Playgroud)

php arrays duplicates array-unique

25
推荐指数
2
解决办法
7万
查看次数

BroadcastReceiver问题(接收方未注册错误)

可能重复:
Receiver未注册异常错误?

我有一个TabActivity,每个TabSpec的'内容'是我自己的GuideListActivity类.

有七个选项卡(一周中每天一个),每个GuideListActivity显示一个电视频道的电视指南信息/一周中的一天.

所述TabActivity维持该信道号码的用户正在观看指南的详细信息,并且当用户改变,以查看另一信道的信息,所述TabActivity使用sendStickyBroadcast()与意图识别哪个信道的信息,以显示(具有第一除去可能存在的任何先前的粘广播).

这可行,但我看起来像GuideListActivity的BroadcastReceiver看似随机的问题,这些问题太频繁而无法忽略(即使在'Beta'级代码中).我看到的错误是......

java.lang.RuntimeException: Unable to pause activity {com.mycompany.mypackage/com.mycompany.mypackage.GuideListActivity}: java.lang.IllegalArgumentException: Receiver not registered: com.mycompany.mypackage.GuideListActivity$ChannelChangeListener@462ebe20
Run Code Online (Sandbox Code Playgroud)

每个GuideListActivity都维护着自己的BroadcastReceiver(显然)示例......

public class GuideListActivity extends ListActivity {

    private ChannelChangeListener listener = null;
    private Intent ChannelChangeListenerIntent = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        listener = new ChannelChangeListener();
    }

    @Override
    protected void onResume(){
        super.onResume();
        if (ChannelChangeListenerIntent == null)
            ChannelChangeListenerIntent = registerReceiver(listener, new IntentFilter(packageName + ".GUIDE_UPDATE"));
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (ChannelChangeListenerIntent != null)
            unregisterReceiver(listener); // <== EXCEPTION THROWN HERE
    } …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

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

C++/CLI对象^%(插入符号百分号)声明是什么意思?

这显然是一个谷歌证明的术语,因为我不能让任何搜索引擎不丢弃"额外"字符.我也在C++参考中查看了MSDN,但我似乎无法找到C++/CLI参考,因为声明部分中没有任何内容.

c++-cli

18
推荐指数
3
解决办法
8700
查看次数

Xcode没有在SVN中获取新的类文件

我有一个SVN存储库,我已经更新了我的本地代码,此更新包括新的类文件.当我去构建时,由于我之前在Xcode中的文件中的代码已被更新并引用了一个新文件,因此出现了链接器错误.此文件已添加到Finder中的我的目录中(即我的本地文件系统是最新的)但这些新文件尚未添加到我的xcode中.

我的问题是:如何通过Xcode找到新文件?或者哪个元数据文件存储Xcode右侧窗格中显示的文件?(所以我可以检查这是否更新)

svn xcode

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

好的java webmail应用程序

有没有很好的java webmail应用程序,可用于连接到独立的imap服务器?

类似于圆形立方体的东西,但可以部署在应用程序服务器中.

谢谢

java imap webmail

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

用Java自动将测量结果格式化为工程单位

我正在尝试找到一种以工程表示法将度量和单位自动格式化为String的方法。这是科学计数法的特例,因为指数始终是3的倍数,但使用千,兆,毫,微前缀表示。

除了应该处理整个SI单位和前缀范围之外,这与本帖子类似。

例如,我正在寻找一个将格式化以下数量的库:12345.6789 Hz将被格式化为12 kHz或12.346 kHz或12.3456789 kHz 1234567.89 J将被格式化为1 MJ或1.23 MJ或1.2345 MJ,依此类推。

JSR-275 / JScience可以很好地处理单位度量,但是我还没有找到可以根据度量的大小自动算出最合适的缩放前缀的东西。

干杯,山姆。

java string format notation

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