我正在开发一个Android应用程序,它获取名为"WebUntis"的Web服务的json内容.我得到的Json内容看起来像:
{"jsonrpc":"2.0","id":"req-002",
"result":[
{"id":125043,"date":20110117,"startTime":800,"endTime":850,
"kl":[{"id":71}],
"te":[{"id":23}],
"su":[{"id":13}],
"ro":[{"id":1}]},
{"id":125127,"date":20110117,"startTime":1055,"endTime":1145,
"kl":[{"id":71}],
"te":[{"id":41}],
"su":[{"id":19}],
"ro":[{"id":31}]},
...]}
Run Code Online (Sandbox Code Playgroud)
正如您在结果数组中看到的那样,还有其他数组,如"kl","su"和"ro"
我正在获取这些数组的内容,然后我将它们存储在一个arraylist中.但是,当其中一个数组为空时,就像;
{"jsonrpc":"2.0","id":"req-002",
"result":[
{"id":125043,"date":20110117,"startTime":800,"endTime":850,
"**kl":[]**,
"te":[{"id":23}],
"su":[{"id":13}],
"ro":[{"id":1}]},
{"id":125127,"date":20110117,"startTime":1055,"endTime":1145,
"kl":[{"id":71}],
"te":[{"id":41}],
"su":[{"id":19}],
"ro":[{"id":31}]},
...]}
Run Code Online (Sandbox Code Playgroud)
我总是得到错误IndexOutOfRangeException,但我总是告诉它它不应该采用空数组,这是我尝试过的:
JSONObject jsonResult = new JSONObject(s);
// Get the result object
JSONArray arr = jsonResult.getJSONArray("result");
for (int i = 0; i < arr.length(); i++) {
JSONObject c = arr.getJSONObject(i);
anfangStunde[i] = c.getString("startTime");
endeStunde[i] = c.getString("endTime");
// get the jsonarrays (kl, su, ro)
kl = c.getJSONArray("kl");
su = c.getJSONArray("su");
ro …Run Code Online (Sandbox Code Playgroud) 嗨,我是Sprig Data JPA的新手,我很想知道即使我将Id传递给实体,Spring数据jpa也是插入而不是合并.我想当我实现Persistable接口并实现这两个方法时:
public Long getId();
public Boolean isNew();
Run Code Online (Sandbox Code Playgroud)
它会自动合并而不是持久化.
我有一个名为User的实体类:
@Entity
@Table(name = "T_USER")
public class User implements Serializable, Persistable<Long> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "USER_ID")
private Long id;
@Column(name = "CREATION_TIME", nullable = false)
private Date creationTime;
@Column(name = "FIRST_NAME", nullable = false)
private String firstName;
@Column(name = "LAST_NAME", nullable = false)
private String lastName;
@Column(name = "MODIFICATION_TIME", nullable = false)
private Date modificationTime;
Run Code Online (Sandbox Code Playgroud)
还有另一堂课
@Entity
@Table(name = "T_USER_ROLE")
public class UserRole …Run Code Online (Sandbox Code Playgroud) 我正在Java中构建一个"XML扫描程序",它找到以"!Here:"开头的属性值.属性值包含稍后要替换的指令.例如,我有这个xml文件填充像记录
<bean value="!Here:Sring:HashKey"></bean>
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到并替换属性值,只知道它的开头"!Here:"?
我有一个用hadoop mapreduce分析的csv文件.我想知道hadoop是否会逐行解析它?如果是的话,我想使用逗号分隔字符串来获取想要分析的字段.还是有其他更好的方法来解析csv并将其提供给hadoop?该文件是10 GB,逗号分隔.我想用hadoop使用java.下面的map()方法中Tex类型的参数"value"包含Map/Reduce解析的每一行? - 这是我最困惑的地方.
这是我的代码:
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
try {
String[] tokens = value.toString().split(",");
String crimeType = tokens[5].trim();
int year = Integer.parseInt(tokens[17].trim());
context.write(crimeType, year);
} catch (Exception e) {...}
}
Run Code Online (Sandbox Code Playgroud) HashSet如果我只有对象的哈希码,而不是对象本身,我是否可以检查对象是否在?
我一直在阅读有关不可变数据结构的内容,并了解到变更检测已变得简单.通常,我听说它使应用程序维护更简单,并提供易于理解的编程模型.我需要帮助来理解它简化工作的方式.
我有一个存储在原子中的集合,就像这样
(def numbers (atom #{1 2 3 4 5}))
Run Code Online (Sandbox Code Playgroud)
使用swap!. 在一个单独的线程中,我想要一个函数,从集合中提取和删除偶数并返回它们。
我可以这样做的一种方法是:
(let [{even true odd false} (group-by even? @numbers)]
(reset! numbers odd)
even)
Run Code Online (Sandbox Code Playgroud)
但是,这不是原子操作。numbers可以在group-by和之间变化reset!。有没有办法以原子方式执行此操作?
让我们m成为一个嵌套的地图.如何查找m具有某个键的所有地图.
例如:
(def m {:a {:id 5}
:d {:id 58}
:x {:id 4 :c {:id 3 :d 4}}})
(recursive-filter m :id)
;; expected result:
> ({:id 5} {:id 58} {:id 4 :c {:id 3 :d 4}} {:id 3})
Run Code Online (Sandbox Code Playgroud) 多方法比协议慢,应该尝试使用协议来解决问题,即使使用多方法提供了更灵活的解决方案.那么多方法是怎么回事cond?它们可以用来解决同样的问题,但我的猜测是多方法的性能开销很大cond.如果是这样,我为什么要使用多方法而不是cond?