格式的JSON我認爲汽車,飛機和船是簡單的JavaBeans類和他們的現場成員映射json合約。
您可以使用json編解碼器將您的對象序列化爲JSON。例如,您可以使用Jackson或gson。
類:
class Car {
private String model;
public String getModel(){};
public void setModel(String model){...};
}
class Airplane {
private String model;
public String getModel(){};
public void setModel(String model){...};
}
class Boat {
private String model;
public String getModel(){};
public void setModel(String model){...};
}
的例子將使用Jackson和將輸出一個這樣的結構: {"car":{"model":"xxx"},"boat":{"model":"xxx"}, ,"airplane":{"model":"xxx"}}
// Create the jsonFactory with an object mapper to serialize object to json
JsonFactory jsonFactory = new JsonFactory(new ObjectMapper());
// Create the byte array output stream
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// Create the json generator
JsonGenerator generator = jsonFactory.createGenerator(outputStream);
// Write the start object, ie. {}
generator.writeStartObject();
// Write the car "car":{}
generator.writeObjectField("car" , car);
// Write the car "boat":{}
generator.writeObjectField("boat" , boat);
// Write the car "airplane":{}
generator.writeObjectField("airplane" , airplane);
// Close the object
generator.writeEndObject();
// And the generator
generator.close();
// Convert the byte array stream to a byte array and publish the message
channel.basicPublish(outputStream.toByteArray());
如果有一個JavaBeans或地圖它包裝論文3類中的代碼可能更簡單:
ObjectMapper mapper = new ObjectMapper();
byte[] bur = mapper.writeValueAsBytes(wrapper);
channel.basicPublish(outputStream.toByteArray());
最後在C#端你應該創建相同的類和deserialize them。
你可以使用一些JSON到Java/C#生成器,例如。 jsonschema2pojo。