|
|
1
6
如果实例变量是私有的,那么它们不应该出现在发送到JavaScript应用程序的序列化中。根据定义,如果您对它们进行序列化并将它们发送到单独的应用程序,那么它们是公共的。因此,外部对象应该有某种方式来访问它们,可能是通过某种getter方法。 |
|
|
2
1
在JSON中Searialize数据有什么作用?这纯粹是为了报道吗?如果是这样,那么brian是正确的,这些变量应该有getter方法。 如果序列化的目的是将数据传输到一个javascript应用程序,在该应用程序中可以对数据进行操作,然后将其返回到原始应用程序,那么最好创建一个相关的类,该类用于序列化目的,同时仍保持强封装性。 例如,在Java中可以定义一个内部类。内部类实例可以直接访问封闭类实例的所有字段,而不需要getter方法。或者可以使用正确的访问修饰符对包(或命名空间)进行分组,以允许序列化程序访问,但不允许任何其他类访问。 或者你可以用反射。或者劫持toString方法。(或者全部发光,创建tojson方法。) |