我正在用 java 开发 Web 服务。
在服务中,我必须检查“desagg”字段的值,如果它等于 0,我不必执行任何操作,而如果它大于 0,我必须进行另一个查询,并将结果放在 json 内的“desArticle”字段的值
我尝试使用谷歌库的 gson 方法,但我认为这不是正确的方法
String sql="SELECT sigdoc as sigla, numdoc as numero, datdoc as data , procor AS seq_articolo, desagg , precorpo.codint as codiceInterno, qtauni AS quantitaArticolo, " +
" przuni AS prezzoVendita, (scont0/100) AS sconto1, (scont1/100) AS sconto2, (scont2/100) AS sconto3, impnet AS importoNetto, datcon as dataConsegna, serdoc as chiaveRiga," +
" coarfo as codiceArticolo, descri as desArticolo" +
" FROM precorpo " +
" INNER JOIN anamagge ON precorpo.codint=anamagge.codint " +
" WHERE tiprig=0 AND sigdoc='"+sigdoc+"' AND numdoc="+numdoc+"" +
" ORDER BY procor;";
try
{
json = db.executeQueryTOJSON2(sql);
JsonObject jobj = new Gson().fromJson(json, JsonObject.class);
int result = jobj.get("desagg").getAsInt();
if (result > 0)
{
String query2=" select group_concat(descri) from memodocu where pointm="+result+" group by pointm;";
ResultSet rs = db.executeQuery(query2);
while(rs.next())
{
String desc = rs.getString("group_concat(descri)");
}
}
}
catch(Exception e)
{
System.out.println("errore "+e);
}
输出中的 json 为:
[ { "sigla":"PREV" , "numero":1.1000122E7 , "data":"" , "seq_articolo":1 , "desagg":0 , "codiceInterno":25951 , "quantitaArticolo":2.0 , "prezzoVendita":4.62 , "sconto1":0.0000 , "sconto2":0.0000 , "sconto3":0.0000 , "importoNetto":9.24 , "dataConsegna":"" , "chiaveRiga":7379 , "codiceArticolo":"A025951" , "desArticolo":"025951 ARTICOLO DI PROVA" } , { "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" } ]
我是 json 初学者
最佳答案
Gson 是正确的方法,根据文档,您可以解析字符串,然后通过给定的键获取类型值
这里是文档:
JsonObject jobj = new Gson().fromJson(mySqlResultAsJson, JsonObject.class);
int result = jobj.get("desagg").getAsInt();
if (result >= 0)
{
do another request
}
关于java - 我如何更改字符串字段的值(格式 json)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54634033/