我有一个参数为name
和hit
的json文件。
[{
"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;
}
我想更新该文件中的任何元素,但是不起作用。
答案 0 :(得分:1)
您可以按需要覆盖相同的键来覆盖该值。
<?php
// header("Access-Control-Allow-Origin: *");
// header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "root", "root", "test2");
$result = $conn->query("SELECT *FROM info");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"rollno":"' . $rs["rollno"] . '"}';
$outp .= '{"name":"' . $rs["name"] . '"}';
$outp .= '{"email":"' . $rs["email"] . '"}';
$outp .= '{"phone":"' . $rs["phone"] . '"}';
$outp .= '{"address":"' . $rs["address"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>
答案 1 :(得分:0)
我们可以在Volley中使用JSON Object请求而不是String请求。
JSONObject obj = JSONObject()
obj.put("name", "xxx")
obj.put("hit", false)
Log.i("OutPut : ",obj.toString())