java中将字符串或者数组转化为json格式

贴源码

字符串转化为json:

String str = "{\"deviceId\":\"" + listById.get(i).getDeviceid() + "\",\"deviceName\":\"" + listById.get(i).getDeviceName() + "\",\"designer\":\"" + 
listById.get(i).getDesigner()  +"\",\"supervision\":\"" + listById.get(i).getSupervision() + "\",\"construction\":\"" + listById.get(i).getConstruction() + "\" }";

JSONObject jso= new JSONObject,fromObjecrt(str);

josn.put("key",jso);

数组转化为json格式:

List<ShareDevice> sdList = this.bindService.getSdByUserId(userId);
listById = this.bindService.getBindbyUserId(userId);      
String arr[] = new String[sdList.size()+listById.size()];
for (int i = 0; i < listById.size(); i++) {       
arr[i] = "{\"deviceId\":\"" + listById.get(i).getDeviceid() + "\",\"deviceName\":\"" + listById.get(i).getDeviceName() + "\",\"designer\":\"" + 
listById.get(i).getDesigner()  +"\",\"supervision\":\"" + listById.get(i).getSupervision() + "\",\"construction\":\"" + listById.get(i).getConstruction() + "\" }";      
}
for (int i = 0; i < sdList.size(); i++) {
arr[i+listById.size()] = "{\"deviceId\":\"" + sdList.get(i).getDeviceid() + "\",\"deviceName\":\"" + sdList.get(i).getDeviceName() + "\",\"designer\":\"" +
sdList.get(i).getDesigner() +"\",\"supervision\":\"" + sdList.get(i).getSupervision() + "\",\"construction\":\"" + sdList.get(i).getConstruction() + "\" }";
}

JSONArray json1 = JSONArray.fromObject(arr); 

json.put("result", "0");
json.put("MyDevice",json1);
PrintToJson.print(this.response, json);

在 Unreal Engine 中将字节数组转化为 JSON,可以使用 UE 提供的 FJson 模块。以下是一个简单的示例代码: ```c++ #include "JsonWriter.h" // 假设有一个 byte 数组叫做 jsonData,长度为 dataLen TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject); JsonObject->SetStringField("name", "Alice"); JsonObject->SetNumberField("age", 25); JsonObject->SetBoolField("isStudent", true); TArray<int32> Grades = {85, 92, 78}; TArray<TSharedPtr<FJsonValue>> JsonGrades; for (int32 i = 0; i < Grades.Num(); i++) { JsonGrades.Add(MakeShareable(new FJsonValueNumber(Grades[i]))); } JsonObject->SetArrayField("grades", JsonGrades); FString JsonString; TSharedRef<TJsonWriter<>> JsonWriter = TJsonWriterFactory<>::Create(&JsonString); FJsonSerializer::Serialize(JsonObject.ToSharedRef(), JsonWriter); // 现在 JsonString 中就是转化后的 JSON 字符串 ``` 上述代码中,首先创建一个 FJsonObject 对象,然后通过 FJsonObject 的各种 Set*Field 方法设置字段的值。其中 grades 字段是一个数组,需要先创建一个 TArray<TSharedPtr<FJsonValue>> 对象,然后将每个元素转换为 TSharedPtr<FJsonValueNumber> 类型并添加到数组中,最后通过 FJsonObject 的 SetArrayField 方法设置 grades 字段的值。 然后创建一个 TJsonWriter 对象,用于将 FJsonObject 对象转换为 JSON 字符串。最后调用 FJsonSerializer::Serialize 方法将 FJsonObject 对象序列化为 JSON 字符串,并存储在 FString 变量 JsonString 中。 需要注意的是,在使用 FJson 模块生成 JSON 数据时,需要确保数据的格式正确,否则会导致生成的 JSON 数据不符合规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值