Java 如何更新JsonObject中的元素值?
我有一个json文件,其中包含参数Java 如何更新JsonObject中的元素值?,java,android,json,Java,Android,Json,我有一个json文件,其中包含参数name和hit [{ "name": "pavan", "hit": true }] 我想将name和hit更新为 [{ "name": "sai", "hit": false }] 我尝试使用put,但它没有更新值 protected Void doInBackground(Void... voids) { /* x = new ArrayList<Entry>(); y
name
和hit
[{
"name": "pavan",
"hit": true
}]
我想将name
和hit
更新为
[{
"name": "sai",
"hit": false
}]
我尝试使用put
,但它没有更新值
protected Void doInBackground(Void... voids) {
/* x = new ArrayList<Entry>();
y = new ArrayList<String>();*/
try {
URL url=new URL("https://api.myjson.com/bins/1854yb");
HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
String line="";
while (line!=null)
{
line=bufferedReader.readLine();
data=data+line;
}
JSONArray JA=new JSONArray(data);
for(int i=0;i<JA.length();i++)
{
JSONObject JO= (JSONObject) JA.get(i);
singleparsed="Name:"+JO.get("name")+"\n"+
"Hit:"+JO.get("hit");
JO.put("name","sai");
JO.put("hit",false);
dataparsed=dataparsed+singleparsed;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
受保护的Void doInBackground(Void…voids){
/*x=新的ArrayList();
y=新的ArrayList()*/
试一试{
URL=新URL(“https://api.myjson.com/bins/1854yb");
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream));
字符串行=”;
while(行!=null)
{
line=bufferedReader.readLine();
数据=数据+行;
}
JSONArray JA=新JSONArray(数据);
对于(inti=0;i,我们可以在截取中使用JSON对象请求而不是字符串请求
JSONObject obj = JSONObject()
obj.put("name", "xxx")
obj.put("hit", false)
Log.i("OutPut : ",obj.toString())
您可以根据需要覆盖该值,以放置相同的键
[ { "name": "pavan", "hit": true } ]
JsonObject jsonObj = new JsonObject();
jsonObj .put("name", "Sai");
jsonObj .put("hit", false);
你能详细说明一下吗?我没弄明白,实际上你需要更改动态参数。知道。JsonObject obj=JsonObject()obj.put(“name”,“xxx”)obj.put(“hit”,false)Log.i(“OutPut:,obj.toString())它不工作我想它不是JsonObject JsonObject我试过这个,为什么你要创建新的JsonObject我是说JsonObject正在正确地更改??这不工作,请看上面的代码我的JsonObject名称是JO,我也在做同样的事,但它不工作??创建另一个对象。JsonArray JsonArray=new JsonArray();JsonObject jsonObj=new JsonObject();jsonObj.put(“name”,“Sai”);jsonObj.put(“hit”,false);jsonArray.put(jsonObj);你怎么知道它不起作用了?通过查看单解析的
?如果是这样,这是正常的,你需要将它移动到放置新值的行之后。是的,你是对的,但它没有在链接中更新为什么?好吧,然后向我们展示所有代码;在这里,你只是用新值创建了一个到JO
对象的副本,但你不是使用它,也不将其发布回url。这是代码,要将其发回,该怎么办?谢谢这完全是另一个问题;请参阅