小编T.G*_*lle的帖子

如何在java中检查JSONArray是否为空?

我正在开发一个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)

arrays json json-rpc

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

Spring Data JPA插入而不是Update

嗨,我是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)

spring jpa spring-data-jpa

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

如何在XML中查找和替换属性值

我正在Java中构建一个"XML扫描程序",它找到以"!Here:"开头的属性值.属性值包含稍后要替换的指令.例如,我有这个xml文件填充像记录

<bean value="!Here:Sring:HashKey"></bean>
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到并替换属性值,只知道它的开头"!Here:"

java xml dom

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

hadoop如何读取输入文件?

我有一个用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)

csv hadoop

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

通过哈希检查HashSet中是否存在元素

HashSet如果我只有对象的哈希码,而不是对象本身,我是否可以检查对象是否在?

java hashcode hashset

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

不可变数据结构 - 应用程序维护

我一直在阅读有关不可变数据结构的内容,并了解到变更检测已变得简单.通常,我听说它使应用程序维护更简单,并提供易于理解的编程模型.我需要帮助来理解它简化工作的方式.

clojure immutability reactjs

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

如何在 Clojure 中拆分原子?

我有一个存储在原子中的集合,就像这样

(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!。有没有办法以原子方式执行此操作?

clojure

3
推荐指数
1
解决办法
176
查看次数

在clojure中,如何在嵌套映射中找到具有某个键的所有映射

让我们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)

dictionary clojure filter

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

Clojure中多方法与cond的表现

多方法比协议慢,应该尝试使用协议来解决问题,即使使用多方法提供了更灵活的解决方案.那么多方法是怎么回事cond?它们可以用来解决同样的问题,但我的猜测是多方法的性能开销很大cond.如果是这样,我为什么要使用多方法而不是cond

clojure

0
推荐指数
2
解决办法
930
查看次数