`
RunUpwind
  • 浏览: 91913 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

to_json 中增加自定义的属性字段

 
阅读更多

参考:http://stackoverflow.com/questions/5111165/accessing-virtual-attribute-from-json

 

原本我这样写:

@user.to_json(:only => [:id, :name, :pay_points])

 后来我想增加一个属性,它不是一个数据库字段,是在@user中定义的一个方法:

def points_value
    ......
    
end

 

我将to_json输出改成了:

@user.to_json(:only => [:id, :name, :pay_points, :points_value])

但结果没有输出points_value.

 

 

正确的做法是:

@user.to_json(:only => [:id, :name, :pay_points],:methods => :points_value)
 
分享到:
评论

相关推荐

    Nutz_Json_Book

    - **输出**:根据对象的实际属性进行序列化,忽略未赋值的字段(如 `birthday` 和 `bestFriend`)。 #### 四、总结 Nutz.Json 是一款轻量级、高效且易于使用的 JSON 处理库,它通过简单的 API 设计实现了 Java ...

    delphi_BaseObject_json序列化反序列化1

    通过TIdJSONDataObject的ToJSON和ParseFromJSON方法,可以轻松完成这两个操作。 3. **自定义实现**:如果不想依赖第三方库,Delphi的内置XML数据类型和RTTI(运行时类型信息)可以辅助我们手动实现JSON序列化和反...

    看雪2017安全开发者峰会ppt-10.Java_JSON反序列化之殇

    它的功能主要由两个转换函数实现:`toJson`(对象到字符串)和`fromJson`(字符串到对象)。Gson特别适合用于那些基本类型的数据转换,如果需要处理一些复杂类型的对象,可能需要用户自行实现反序列化机制。 #### ...

    Gson_Json解析源码

    如`toJsonTree(Object obj)`用于将Java对象转换为JsonElement,`fromJson(JsonElement json, Class<T> classOfT)`则相反。 2. **TypeAdapter**:这是Gson的核心适配器,负责将Java对象与JsonElement之间的转换。...

    JsonUtils(Json转换工具类)

    在实际开发中,JSON字段名可能与Java对象的属性名不一致,`JsonUtils`通常支持字段映射配置,通过注解或其他方式指定JSON字段与Java对象属性的对应关系,确保数据能正确地映射。 5. **处理嵌套结构**: 当JSON...

    自定义抽象语法树JSON模板

    在JSON格式中,AST通常以键值对的形式表示,其中键代表节点类型,值则包含节点的属性和子节点。 自定义AST JSON模板的创建是为了适应特定的编程语言或解析需求。例如,对于JavaScript,一个基本的AST节点可能包含...

    简单对象序列化 扩展Object.ToJson

    这通常涉及到将对象的属性和字段转换成字符串或其他数据类型。反序列化则是相反的过程,即从这种表示形式恢复对象的原始状态。 在.NET框架中,`System.Runtime.Serialization`命名空间提供了一些类来支持对象序列化...

    将xls转变为json格式工具

    在压缩包内的"ToJson"可能是该工具的源代码、可执行文件或者使用说明。如果要使用或进一步了解这个工具,你需要解压文件并根据提供的文档或者源码进行操作。如果源码可用,这还为用户提供了定制或扩展功能的可能性,...

    Json.NET_Demo.zip

    Json.NET支持自定义属性(如 `[JsonProperty]`)来控制序列化和反序列化过程。例如,可以设置属性忽略、重命名字段、自定义日期格式等。 5. **类型转换和默认值** 序列化过程中,Json.NET能处理各种类型转换,...

    Gson to json

    - **忽略未知字段**:在反序列化时,如果JSON中存在Java对象没有的字段,Gson会抛出异常。你可以通过创建`GsonBuilder`并调用`ignoreUnknownFields()`来避免这个错误。 ```java Gson gson = new GsonBuilder()....

    newtonsoft.json.dll(32位64位_1.0到4.5.1所有版本).zip

    Newtonsoft.Json提供了多种自定义方式,如属性标记、委托、自定义转换器等,以满足复杂场景下的需求。开发者可以根据需要调整序列化和反序列化的行为,例如忽略某些字段、自定义日期格式、处理循环引用等。 7. ...

    Json方案,请参考

    - **Bean操作**:针对自定义Bean类的转换,Nutz.Json能自动检测未赋值字段,仅序列化已设定的属性,减少了不必要的数据冗余,提高了整体的序列化速度。 **5. 性能与实用性考量** Nutz.Json的高性能体现在其对...

    ObjectToJSON工具jar包

    1. 添加依赖:首先,你需要在你的项目中引入ObjectToJSON的jar包,这可以通过Maven或Gradle等构建工具完成,或者直接将jar包添加到项目的类路径中。 2. 创建Java对象:根据需求创建Java对象实例,填充必要的属性值。...

    通过Gson解析Json文件

    例如,当JSON中的某个字段与Java类的字段名不一致时,可以通过注解`@SerializedName`来指定映射关系。 此外,Gson还支持解析JSON数组。假设JSON文件包含一个用户数组,可以创建一个User的List,并使用`fromJson()`...

    C#对多级json解析

    5. **自定义转换逻辑**: 有时,JSON字段与C#类的属性之间可能需要特殊的转换逻辑。Json.NET支持`JsonConverter`特性,你可以创建自定义的转换器来处理这些情况。 6. **序列化对象到JSON**: 当你需要将C#对象转换回...

    Json转对象忽略大小写

    描述中提到,开发人员在处理JSON时遇到了首字母大写的键,这通常会导致默认的JSON库(如Jackson、Gson等)无法正确映射到Java对象的属性。为了解决这个问题,开发者可以采用自定义反序列化策略或者使用一些特定的...

    java自己修改的支持public属性、父类属性的json自动编译的工具类

    通常,这个工具类会有静态方法,如`toJson(Object obj)`用于序列化,和`fromJson(String json, Class<T> clazz)`用于反序列化。在这些方法中,会使用反射API遍历对象的所有字段,包括父类字段,并根据JSON规则进行...

    Json to Excel

    5. **自定义列名和格式**:在转换过程中,用户可能希望自定义Excel的列名,或者根据JSON数据的特定字段设置特定的单元格格式,如日期、货币等。 6. **错误处理**:在处理过程中,可能会遇到JSON格式错误、数据不...

    读json文件自动生成jsonpath

    File jsonFile = new File("path_to_your_file.json"); String jsonString = readFile(jsonFile); // 使用JsonPath查询 Map, Object> firstBook = JsonPath.read(jsonString, "$.store.book[0]"); System.out...

    C#解析Json工具LitJson

    对于复杂类型,如自定义类,你需要确保Json字段名与类的属性名匹配,以便正确地反序列化。 3. **性能考量**: 相比于.NET框架自带的Newtonsoft.Json库(Json.NET),LitJson更小,更轻,因此在内存占用和速度方面...

Global site tag (gtag.js) - Google Analytics