【发布时间】:2019-05-29 10:39:32
【问题描述】:
执行代码我得到一个字符串,其值为"idStation=6107AAE80593E4B2&timestamp=1558524847&pm1=0.800&pm2_5=1.510&pm10=2.650&temperature=22.380&humidity=40.379&pressure=93926.656&luminosity=131&coC=0.440923810000&no2C=0.000000000000&o3C=8.210327100000&batteryLevel=27&batteryCurrent=0&baterryVolts=3.63"
我的目标是把那个String转换成JsonObject格式,每个值都是分开的,即idstation = 6107AAE80593E4B2等,以后可以继续处理数据
我们的想法是以 no2 的值为例,并将其保存在类型为 (Map String, Object) 的变量中
eventPayload.put ("no2", String.valueOf (no2));
字符串的值被编码在变量“sinCifrar”中
我尝试了以下代码,但我遇到了问题:
'String jsonString = sinCifrar;
JSONObject jsonk = new JSONObject(jsonString);
no2 = (((jsonk.getDouble("pressure")/101325.0)*(jsonk.getDouble("no2C")/1000)*46.0055)/(0.082*(jsonk.getDouble("temperature")+273.15)))*1000000.0;
co = (((jsonk.getDouble("pressure")/101325.0)*(jsonk.getDouble("coC")/1000)*28.01)/(0.082*(jsonk.getDouble("temperature")+273.15)))*1000000.0;
o3 = (((jsonk.getDouble("pressure")/101325.0)*(jsonk.getDouble("o3C")/1000)*48.0)/(0.082*(jsonk.getDouble("temperature")+273.15)))*1000000.0;'
我收到以下错误:
org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
由于它不是一开始就创建的字符串,而是执行了几个方法后得到的,所以我不能把它保留为要求的格式,知道吗?
【问题讨论】:
-
@Pablo Poli 我在下面发布了一个答案,如果可行,请告诉我。