Java 将JSON解析为TextInputItemText字段
当设备扫描条形码时,我需要对SQL表进行查询,如果有JSON数据,我必须将JSON解析为文本输入编辑文本字段,并将brand_name放入spinner,实际上为用户填充字段。我不知道如何将其解析为单独的字段。有人能帮我吗 这是我的JSON: “计数”:“50”, “地段”:“100620”, “品牌名称”:“示例”, “变体”:“ZS/N 0,75 x 60”, “净含量”:“20”, “测量单位”:“千克”, “sscc”:“086060197000151569”, “同步”:“否”, “战争组类型”:“123示例” 我对Java非常陌生,我在Android Studio工作,谢谢 您可以使用来序列化/反序列化JSON消息 您必须创建一个与JSON消息的结构相同的类。在您的情况下,类似于:Java 将JSON解析为TextInputItemText字段,java,android,json,Java,Android,Json,当设备扫描条形码时,我需要对SQL表进行查询,如果有JSON数据,我必须将JSON解析为文本输入编辑文本字段,并将brand_name放入spinner,实际上为用户填充字段。我不知道如何将其解析为单独的字段。有人能帮我吗 这是我的JSON: “计数”:“50”, “地段”:“100620”, “品牌名称”:“示例”, “变体”:“ZS/N 0,75 x 60”, “净含量”:“20”, “测量单位”:“千克”, “sscc”:“086060197000151569”, “同步”:“否”, “战
public class Foo{
public String count, lot, brand_name, variant, net_content, unit_of_measure, sync, war_group_type;
}
然后,考虑到您将JSON完整消息放在一个名为jsonString
的字符串中进行解析,您可以这样做:
Gson gson = new Gson();
Foo m = gson.fromJson(jsonString, Foo.class);
@SerializedName('brand_name')
String brandName;
之后,您应该能够独立访问每个参数:
Toast.makeText (getContext(), "Brand name is: " + m.brand_name, Toast.LENGTH_SHORT).show();
进一步的建议/注意事项:
- 默认情况下,Gson库会将类中定义的字段映射到响应中定义的JSON键。但是,您可以使用
为参数指定键,而不是使用字段名。一个示例是定义如下的Foo类字段:@SerializedName
Gson gson = new Gson(); Foo m = gson.fromJson(jsonString, Foo.class);
@SerializedName('brand_name') String brandName;
- 虽然它似乎不适用于您的情况,但请查看如何解析下面链接上的列表结构
- 通过查看JSON结构,确保每个字段的格式正确。例如
表示应该将其解析为字符串,而“count”:“50”
可以解析为数字(int/long/float…)“count”:50,
您可以找到更多信息。非常感谢您的好意,先生!虽然这对我来说有点困惑,但我会尽我最大的努力解决它。