是否有(大致)SQL或类XQuery语言来查询JSON?
我正在考虑非常小的数据集,这些数据集可以很好地映射到JSON,很容易回答诸如"X的所有值,其中Y> 3"的查询,或者执行通常的SUM/COUNT类型操作.
作为完全构成的例子,这样的事情:
[{"x": 2, "y": 0}}, {"x": 3, "y": 1}, {"x": 4, "y": 1}]
SUM(X) WHERE Y > 0 (would equate to 7)
LIST(X) WHERE Y > 0 (would equate to [3,4])
Run Code Online (Sandbox Code Playgroud)
我认为这可以在客户端和服务器端工作,结果转换为适当的特定于语言的数据结构(或者可能保存为JSON)
一个快速的谷歌搜索表明人们已经考虑过它并实现了一些东西(JAQL),但似乎还没有出现标准用法或一组库.虽然每个功能都可以自行实现,但如果有人已经做好了,我不想重新发明轮子.
有什么建议?
编辑:这可能确实是一个坏主意,或者JSON可能过于通用我正在思考的格式..想要查询语言而不是直接根据需要直接执行求和/等功能的原因是我希望构建查询动态地基于用户输入.有点像"我们不需要SQL,我们只能编写我们需要的功能"的论点.最终要么失控,要么在你进一步推动时最终编写自己的SQL版本.(好吧,我知道这是一个有点愚蠢的论点,但你明白了......)
是否可以在仍然使用Android的内置组件的同时在RadioButton和标签之间添加一点空间?默认情况下,文本看起来有点紧张.
<RadioButton android:id="@+id/rb1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="My Text"/>
Run Code Online (Sandbox Code Playgroud)
我尝试了几件事:
指定边距和填充似乎在整个元素周围添加空间(按钮和文本,一起).这是有道理的,但不能做我需要的.
通过XML创建自定义drawable,为已检查和未检查的状态指定图像,然后在每个图像的右侧添加一些额外的像素.这应该可行,但现在您已经超出默认UI.(不是世界末日,但不是理想的)
在每个标签的开头添加额外的空格.Android似乎修剪了一个领先的空格字符,如"我的字符串",但是指定unicode U + 00A0,就像"\ u00A0My String"一样.这有效,但似乎有点脏.
更好的解决方案?
据我所知,没有API(官方或非官方)访问Android Market上的应用程序信息(标题,图标,说明,下载,评论等信息).但是,有一些网站无论如何都设法编译了这些信息.
我的问题是:这是怎么做到的?
几个猜测.
我只是好奇这是怎么做的,因为我肯定无法理解.谢谢.
对于用常规标准符号编写的单个乐器,您如何为简单的乐谱建模?当然,有很多图书馆正是这样做的.我对在数据结构中表示音乐的不同方式感到好奇.什么运作良好,什么不运作?
忽略一些像动态这样棘手的方面,显而易见的方法是将所有内容直接翻译成对象 - 得分是由Notes组成的.我想,合成将意味着计算每个音符的开始/结束时间并混合正弦波.
这显然是一种好方法吗?有什么其他方法可以做到这一点?
Adobe Acrobat是否有用于创建交互式PDF的良好替代方案?这里的术语有点模糊 - 通过交互式,我的意思是"能够填写",而不一定是"可编写脚本".因此,这种形式将用于数据收集,而不是报告生成,这似乎是关于SO的pdf相关问题的常见场景.
诀窍是他们需要使用Adobe Reader填写.对于那些没有经历过Acrobat的许多挫折的人 - 默认情况下,除非使用Acrobat Pro> 8.0创建并且具有专门启用的使用权限,否则Reader无法填写表单.这很好,它基本上有效(除了Pro用户无法保存他们的数据 - WTF?).
因为我感到沮丧,所以我最好完全避免使用Adobe产品(在设计方面,对于用户而言,Reader仍然是必需品,或者我只是将其作为db支持的Web表单).我想知道是否有人有替代方案的良好经验?软件库或产品?
谢谢!
编辑 - 谢谢,亚光b - 之前我见过iText,但不知道它可以创建表格.不幸的是,看起来Reader无法将填充的数据保存到iText生成的表单中(或由OO Writer生成).我有一种令人讨厌的感觉,除了使用Adobe自己的权限管理工具外,我想要的根本不可能.如果还有其他想法.我很乐意听到他们的声音.
对于这种情况,还有比Trie更好的东西吗?
我正在使用Java,所以我的第一次尝试就是使用Set <String>.但是,我的目标是移动设备并且内存不足.由于许多英语单词共享共同的前缀,trie似乎是一个体面的赌注,以节省一些记忆 - 任何人都知道一些其他好的选择?
编辑 - 更多信息 - 数据结构将用于两个操作
谢谢你的好建议
是否可以使用通过Lists.aspx公开的Web服务从Sharepoint的日历中获取事件列表(扩展重复事件)?
如果您使用C#或VB,这显然是可能的,如此处所述,使用如下代码段:
SPQuery query = new SPQuery();
query.ExpandRecurrence = true;
query.Query = "<Where><DateRangesOverlap><FieldRef Name=\"EventDate\" /><FieldRef Name=\"EndDate\" /><FieldRef Name=\"RecurrenceID\" /><Value Type=\"DateTime\"><Month /></Value></DateRangesOverlap></Where>";
Run Code Online (Sandbox Code Playgroud)
我试图通过使用此查询的cURL使用纯XML执行相同的操作:
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>{my guid goes here}</listName>
<query>
<Query xmlns="">
<Where>
<DateRangesOverlap>
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="RecurrenceID" />
<Value Type="DateTime"><Month/></Value>
</DateRangesOverlap>
</Where>
</Query>
</query>
<queryOptions>
<QueryOptions>
<ExpandRecurrence>TRUE</ExpandRecurrence>
</QueryOptions>
</queryOptions>
Run Code Online (Sandbox Code Playgroud)
这种方式有效 - 它获取所有列表项,但不会扩展重复项.关键似乎是ExpandRecurrence属性.令人惊讶的是,除了几篇博文之外,谷歌似乎没有太多话要说.在网上搜索,我已经阅读了一些注释,表明ExpandRecurrence属性不起作用,但是其他人说它工作正常,我读过的任何内容都没有让我感到震惊.
有没有人试过这个并且在没有使用C#或VB的情况下让它工作 - 只是直接的XML?
我正在尝试将一个swank-clojure repl嵌入到我的应用程序中,以便在应用程序运行时将其连接起来.但是,在启动repl后,我无法弄清楚如何访问封闭环境.
嵌入swank-clojure REPL很容易:
(ns mytest
(:use [swank.swank :exclude [-main]])
(:gen-class))
(defn -main [& args]
(let [x 123]
(swank.swank/start-repl)))
Run Code Online (Sandbox Code Playgroud)
运行程序..然后在emacs中结束:
M-x slime-connect
Run Code Online (Sandbox Code Playgroud)
这工作正常,我连接.现在,我希望这会起作用:
(println x)
;; 123 (what I was hoping for)
;; Unable to resolve symbol: x in this context (cruel reality)
Run Code Online (Sandbox Code Playgroud)
因此,这不能作为将当前环境传递给嵌入式REPL的方法.
嵌入式REPL有没有办法与我正在运行的程序进行交互?
如果没有,嵌入REPL的原因是什么?
如果它有任何区别,我试图将其作为JAR运行.
这个线程似乎有关系,但我无法从中得到任何结论:
android ×2
java ×2
clojure ×1
forms ×1
forums ×1
json ×1
non-english ×1
nosql ×1
pdf ×1
querying ×1
radio-button ×1
resources ×1
sharepoint ×1
swank ×1
web-services ×1