3 回答

TA贡献1779条经验 获得超6个赞
如果你想解析这个:
{ "sigla":"PREV" , "numero":1.1000122E7 , "data":"" , "seq_articolo":2 , "desagg":100 , "codiceInterno":15879 , "quantitaArticolo":20.0 , "prezzoVendita":2.17 , "sconto1":0.0000 , "sconto2":0.0000 , "sconto3":0.0000 , "importoNetto":43.4 , "dataConsegna":"" , "chiaveRiga":7380 , "codiceArticolo":"A015879" , "desArticolo":"I want to modify this" }
你可能会做类似的事情;
MyObject myObj = new Gson().fromJson(myJsonStream, MyObject.class);
int desagg = myObj.getDesagg();
并定义一个像这样的对象:
class MyObject {
private String sigla;
private float numero;
private String data;
...
}

TA贡献1784条经验 获得超9个赞
我解决了这个问题!
JSONArray jsonarray = new JSONArray(json);
for (int i = 0; i < jsonarray.length(); i++)
{
JSONObject jsonobject = jsonarray.getJSONObject(i);
String tmp = jsonobject.getString("desagg");
if(!tmp.equals("0"))//vuol dire che dessagg diverso da 0
{
String sql2="select group_concat(descri) from memodocu where pointm="+tmp+" group by pointm;";
ResultSet rs = db.executeQuery(sql2);
String tmp2="";
while(rs.next())
{
tmp2=rs.getString("group_concat(descri)");
}
jsonobject.put("desArticolo", tmp2);
}
我使用 jsonArray 来解析 json 字符串和 json 对象来获取我想要的字段的值然后如果 tmp 不同于 0 我去运行查询我获取结果并更新字段 desArticle 的值
最终结果将在 jsonarray 变量上结束,要打印它你必须做 jsonarray.toString ();

TA贡献1777条经验 获得超3个赞
Gson 是正确的方法,根据文档,您可以解析字符串,然后通过给定键获取类型值
这里的文档:
https://static.javadoc.io/com.google.code.gson/gson/2.6.2/com/google/gson/JsonElement.html#getAsInt--
JsonObject jobj = new Gson().fromJson(mySqlResultAsJson, JsonObject.class);
int result = jobj.get("desagg").getAsInt();
if (result >= 0)
{
do another request
}
添加回答
举报