我正在使用JSONObject来输入数据并计算出来的东西。假设我输入了以下形式的数据: -
JSONObject obj = new JSONObject();
obj.put("uuid", newImageUuid);
obj.put("type", "image");
obj.put("value", base64ImagePath);
对于19以上的SDK版本,我得到了完美的顺序,但对于低于它的版本,json的顺序颠倒了。首先是值,然后键入,然后是uuid。
我试过这种方式: -
Map obj=new LinkedHashMap();
obj.put("uuid", newImageUuid);
obj.put("type", "image");
obj.put("value", base64ImagePath);
StringWriter data = new StringWriter();
JSONValue.writeJSONString(obj, data);
数据是以有序的方式和我想要的形式,但我不能使用这些数据作为它的类型是StringWriter。但是当我将这些数据转换回JSONObject时,结果将是无序的。我已经尝试了很多方法,比如存储在linkedhashmaps中然后转换为JSONObjects但没有用。任何人都可以帮忙。
答案 0 :(得分:0)
正如JSON official doc所说:
对象是一组无序的名称/值对。
因此Serializer
没有任何特定订单。Parsers
和JSONObject
都不关心Key/Value
键/值的顺序。现在,如果你真的坚持要求保持秩序,你可以尝试将Objects
转换为由Key
和Value
合成的 if($start_date != '' && $end_date != '' && $exp_type != '')
{
$this->db->where("tbl_expenses.created_date BETWEEN " . $start_date . " AND ". $end_date); [Error occur bcz of this line]
$this->db->where("tbl_expenses.expense_type",$exp_type);
$result = $this->db->get();
$data['searched_data'] = $result->result();
$this->load->view('admin/filter_result_view',$data);
}
数组。
答案 1 :(得分:0)
JSON对象没有任何order.It是键/值对。我们可以用键保存值
我们可以使用键
获取值如果您想要有序数据,可以使用数组,arraylist