javascript - 将 java 脚本代码转换为 java 类
问题描述
我是 javascript 新手,想将 javascript 模型转换为 java 类
这是我的商务应用程序。我想为我的客户端(Android 应用程序)生成和存储一个购物车。
javascript代码
module.exports = function Cart(oldCrart) {
this.items = oldCrart.items || {}; //if oldcart doesnot exist use empity as default
this.totalQty = oldCrart.totalQty || 0;
this.totalPrice = oldCrart.totalPrice || 0;
this.add = function(item, id) {
var storedItem = this.items[id];
if (!storedItem) {
storedItem = this.items[id] = { item: item, qty: 0, price: 0 };
}
storedItem.qty++;
storedItem.price = storedItem.item.price * storedItem.qty;
this.totalQty++;
this.totalPrice += storedItem.item.price * 1;
};
this.generateArray = function() {
var arr = [];
for (var id in this.items) {
arr.push(this.items[id]);
}
return arr;
};
};
这是我的购物车.java
public class Cart {
List<Items> items;
int totalQty,qty=0;
double totalPrice, price;
public Cart(List<String> items, int totalQty, double totalPrice) {
this.items = items;
this.totalQty = totalQty;
this.totalPrice = totalPrice;
}
public void add(List<String> items, String id){
String storedItem = this.items[id];
if(!storedItem){
storedItem=this.items[id;
}
qty++;
price= items.price * qty;
totalQty++;
totalPrice=item.price * 1;
}
}
这是由后端生成的,我希望客户端生成等效的输出。谢谢
{"items":{"5c921268bccaaebc228cee58":{"item":{
"_id":"5c921268bccaaebc228cee58","pname":"phone case","price":"123",
"image":"img.jpg",
"stokeamount":20,
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
","__v":0,
"tags":[],
"rating":{"five":0,"four":0,"three":0,"two":0,"one":0,"averge":0},
"department":{"department":"electronics","new":true,"colors":[]},
"comments":[],"view":"80",
"manufacture":
[{"manufacturer":"adulis","_id":"5c921268bccaaebc228cee59"}]},
"qty":1,"price":123}},"totalQty":1,"totalPrice":123}
解决方案
您可以为此使用 Gson 库。
将此添加到gradle:implementation "com.google.code.gson:gson:2.8.2"
然后创建新的 Gson 实例:Gson mGson = new Gson();
现在来自服务器的数据是 Json 格式的字符串,因此您可以生成这样的自定义类:Cart cart = mGson.fromJson(cartStringJson, Cart.class);
确保您的 java 类中的所有属性名称与您的 javascript 数据中的所有属性名称相同,否则它们将被省略,属性类型也必须正确。
推荐阅读
- ssas - 引用另一个表的 SSAS 命名计算
- javascript - 获取一周中给定两天之间的天数
- arrays - 在 PowerShell 中查找和替换
- c# - 如何将具有不同列标题的 .csv 文本文件中的数据导入内存
- docker - 在 Visual Studio 中使用相同的 docker 文件构建 docker 映像的 Azure Pipeline 失败
- javascript - 为什么如果单击按钮两次 setInterval 方法比声明的更短
- firebase - Flutter 中的 Firebase 复杂查询
- mongodb - 从 mongodb 3.6 升级到 4.0 后如何在没有退出代码的情况下重新启动服务器
- sql-server - 如何保持某些列原样并动态旋转 SQL Server 2012 中的最后一列
- windows - 如何更改本地 Appdata 位置