Я бы хотел, чтобы json_encode в PHP возвращал массив JSON, даже если индексы не в порядке

, но в соответствии с этим: http://www.php.net/manual /en/function.json-encode.php#94157 не будет.

Я использую flot, поэтому мне нужно вернуть массив с числовыми индексами, но я получаю следующее:

jsonp1282668482872 ( {"label":"Hits 2010-08-20","data":{"1281830400":34910,"1281916800":45385,"1282003200":56928,"1282089600":53884,"1282176000":50262,"1281657600":45446,"1281744000":34998}} );

, так что flot задыхается. Если я var_dump массив прямо перед вызовом json_encode, он выглядит следующим образом: } И похожий класс Java: открытый класс C {public static String message () {...

У меня есть следующий код Scala (2.8):

object A {
  val message = "hello"
  object B {
    val message = "world"
  }
}

И похожий класс Java:

public class C {
  public static String message() {
    return "HELLO";
  }
  public static class D {
    public static String message() {
      return "WORLD";
    }
  }
}

Они работают как я ожидаю, когда я вызываю их из Scala:

scala> A.message  
res0: java.lang.String = hello

scala> A.B.message
res1: java.lang.String = world

scala> C.message  
res2: java.lang.String = HELLO

scala> C.D.message
res3: java.lang.String = WORLD

Но когда я пробую что-то похожее из Java, компилятору не нравится вторая строка:

System.out.println(A.message());
System.out.println(A.B.message()); // cannot find ... symbol  : variable B ...
System.out.println(C.message());
System.out.println(C.D.message());

Понятно, почему это так, когда я смотрю на файлы классов с javap . Я знаю, что вместо этого могу использовать

System.out.println(A$B$.MODULE$.message());

или добавить что-то вроде val getB = B к моему объекту A и заменить вторую строку на

System.out.println(A.getB().message());

. Есть ли стандартный способ использования вложенные одноэлементные объекты Scala из кода Java?

16
задан Travis Brown 24 August 2010 в 18:24
поделиться

1 ответ

Я мало что знаю о Scala, но, учитывая то, как Scala компилируется в байт-код, я думаю, что вы указали единственные два варианта, которые у вас есть.

2
ответ дан 30 November 2019 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: