Tag: 序列化

枚举的JSON序列化为string

我有一个包含enum属性的类,并在使用JavaScriptSerializer序列化对象时,我的json结果包含枚举的整数值而不是其string “name”。 有没有办法让我的JSON中的string枚举,而不必创build一个自定义JavaScriptConverter ? 也许有一个属性,我可以装饰的枚举定义,或对象的财产,与? 举个例子: enum Gender { Male, Female } class Person { int Age { get; set; } Gender Gender { get; set; } } 期望的json结果: { "Age": 35, "Gender": "Male" }

如何在使用Json.net序列化时更改属性名称?

我有一些C#数据集对象中的数据。 我可以使用像这样的Json.net转换器来序列化它 DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); 但是,当打印到.json文件时,这将使用data的属性名称。 我想改变属性名称是不同的(比如,把'foo'改为'bar')。 在Json.net文档中 ,在“序列化和反序列化JSON”→“序列化属性”下,它说“JsonPropertyAttribute …允许名称自定义”。 但是没有例子。 有谁知道如何使用JsonPropertyAttribute将属性名称更改为别的? ( 直接链接到文档 ) Json.net的文档似乎是稀疏的。 如果你有一个很好的例子,我会尝试把它添加到官方文档中。 谢谢!

任务不是可序列化的:java.io.NotSerializableException仅在类不是对象时调用函数外的函数

在闭包之外调用函数时出现奇怪的行为: 当函数在一个对象中一切正在工作 当函数在一个类中获得: Task not serializable: java.io.NotSerializableException: testing 问题是我需要我的代码,而不是一个对象。 任何想法为什么发生这种情况? 是一个Scala对象序列化(默认?)? 这是一个工作代码示例: object working extends App { val list = List(1,2,3) val rddList = Spark.ctx.parallelize(list) //calling function outside closure val after = rddList.map(someFunc(_)) def someFunc(a:Int) = a+1 after.collect().map(println(_)) } 这是非工作的例子: object NOTworking extends App { new testing().doIT } //adding extends Serializable wont help class testing […]

首选的方法来存储PHP数组(json_encode与序列化)

我需要在一个平面文件中存储一个多维关联的数据数组,以实现caching目的。 我可能偶尔会遇到需要将其转换为JSON以用于我的Web应用程序,但绝大多数时间我将直接在PHP中使用该数组。 将数组存储为JSON还是作为PHP文本文件中的PHP序列化数组更有效率? 我环顾四周,似乎在最新版本的PHP(5.3)中, json_decode实际上比反unserialize更快。 我目前倾向于将数组存储为JSON,因为如果需要,人们可以更容易地读取它,但是可以在PHP和JavaScript中使用,只需很less的努力,从我读过的内容来看,甚至可能更快的解码(虽然不确定编码)。 有谁知道任何陷阱? 任何人都有良好的基准来显示任一方法的性能优势?

使用Json.netparsingJSON

我试图parsing一些JSON使用JSon.Net库。 文件似乎有点稀疏,我很困惑如何完成我所需要的。 这是我需要parsing的JSON格式。 { "displayFieldName" : "OBJECT_NAME", "fieldAliases" : { "OBJECT_NAME" : "OBJECT_NAME", "OBJECT_TYPE" : "OBJECT_TYPE" }, "positionType" : "point", "reference" : { "id" : 1111 }, "objects" : [ { "attributes" : { "OBJECT_NAME" : "test name", "OBJECT_TYPE" : "test type" }, "position" : { "x" : 5, "y" : 7 } } ] […]

Java可序列化对象到字节数组

假设我有一个可序列化的类AppMessage 。 我想将它作为byte[]通过套接字传输到另一台机器,从接收的字节中重build它。 我怎么能做到这一点?

附加到ObjectOutputStream

是不是可以附加到一个ObjectOutputStream ? 我试图追加到对象的列表。 下面的代码片段是一个在任务完成时调用的函数。 FileOutputStream fos = new FileOutputStream (preferences.getAppDataLocation() + "history" , true); ObjectOutputStream out = new ObjectOutputStream(fos); out.writeObject( new Stuff(stuff) ); out.close(); 但是当我尝试阅读它时,我只能得到文件中的第一个。 然后我得到java.io.StreamCorruptedException 。 阅读我正在使用 FileInputStream fis = new FileInputStream ( preferences.getAppDataLocation() + "history"); ObjectInputStream in = new ObjectInputStream(fis); try{ while(true) history.add((Stuff) in.readObject()); }catch( Exception e ) { System.out.println( e.toString() ); } […]

是否有可能序列化和反序列化在C + +的类?

是否有可能序列化和反序列化在C + +的类? 我已经使用Java 3年了,序列化/反序列化在这个语言中是相当平凡的。 C ++有类似的function吗? 是否有处理序列化的本机库? 一个例子会有帮助。

在.NET 4中将C#对象转换为JSONstring

我有这样的课程: class MyDate { int year, month, day; } class Lad { string firstName; string lastName; MyDate dateOfBirth; } 我想将一个Lad对象转换成如下所示的JSONstring: { "firstName":"Markoff", "lastName":"Chaney", "dateOfBirth": { "year":"1901", "month":"4", "day":"30" } } (没有格式)。 我发现这个链接 ,但它使用了一个不在.NET 4中的命名空间。我也听说过JSON.NET ,但是他们的网站似乎在closures,而我并不热衷于使用外部DLL文件。 除了手动创buildJSONstring编写器之外,还有其他选项吗?

如何使一个类JSON可串行化

如何使一个Python类可序列化? 一个简单的类: class FileItem: def __init__(self, fname): self.fname = fname 我应该做什么才能够得到的输出: json.dumps() 没有错误( FileItem instance at … is not JSON serializable )