JSON入门介绍:http://kirin.javaeye.com/blog/616226

也参考了此篇:http://blog.163.com/fushaolin@126/blog/static/16341724220108244251686/

json数据格式解析我自己分为两种:一种是普通的,一种是带有数组形式的:http://archive.cnblogs.com/a/1925327/

先实例化个JSONObject对象

[java] view plaincopyprint?    JSONObject aJosnObj = new JSONObject(jsonStr);//jsonStr为对应json字符串数据 

然后再根据json数据的实际情况调用有关方法。

这是一个利用JSON定位的例子:

 1 /**   2   * Google定位的实现.<br/>   3   * Geolocation的详细信息请参见:<br/>   4   * <a   5   * href="http://code.google.com/apis/gears/geolocation_network_protocol.html" mce_href="http://code.google.com/apis/gears/geolocation_network_protocol.html">   6   * http://code.google.com/apis/gears/geolocation_network_protocol.html</a>   7   */     8 public class LocationAct extends Activity {     9      private TextView txtInfo;    10      public void onCreate(Bundle savedInstanceState) {    11          super.onCreate(savedInstanceState);    12          setContentView(R.layout.main);    13          Button btn = (Button) findViewById(R.id.btnStart);    14          txtInfo = (TextView) findViewById(R.id.txtInfo);    15          btn.setOnClickListener(new Button.OnClickListener() {    16              public void onClick(View view) {    17                  getLocation();    18              }    19          });    20      }    21      private void getLocation() {    22          TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);    23          GsmCellLocation gsmCell = (GsmCellLocation) tm.getCellLocation();    24          int cid = gsmCell.getCid();    25          int lac = gsmCell.getLac();    26          String netOperator = tm.getNetworkOperator();    27          int mcc = Integer.valueOf(netOperator.substring(0, 3));    28          int mnc = Integer.valueOf(netOperator.substring(3, 5));    29          JSONObject holder = new JSONObject();    30          JSONArray array = new JSONArray();    31          JSONObject data = new JSONObject();    32          try {    33              holder.put("version", "1.1.0");    34              holder.put("host", "maps.google.com");    35              holder.put("address_language", "zh_CN");    36              holder.put("request_address", true);    37              holder.put("radio_type", "gsm");    38              holder.put("carrier", "HTC");    39              data.put("cell_id", cid);    40              data.put("location_area_code", lac);    41              data.put("mobile_countyr_code", mcc);    42              data.put("mobile_network_code", mnc);    43              array.put(data);    44              holder.put("cell_towers", array);    45          } catch (JSONException e) {    46              e.printStackTrace();    47          }    48          DefaultHttpClient client = new DefaultHttpClient();    49          HttpPost httpPost = new HttpPost("http://www.google.com/loc/json");    50          StringEntity stringEntity = null;    51          try {    52              stringEntity = new StringEntity(holder.toString());    53          } catch (UnsupportedEncodingException e) {    54              e.printStackTrace();    55          }    56          httpPost.setEntity(stringEntity);    57          HttpResponse httpResponse = null;    58          try {    59              httpResponse = client.execute(httpPost);    60          } catch (ClientProtocolException e) {    61              e.printStackTrace();    62          } catch (IOException e) {    63              e.printStackTrace();    64          }    65          HttpEntity httpEntity = httpResponse.getEntity();    66          InputStream is = null;    67          try {    68              is = httpEntity.getContent();    69          } catch (IllegalStateException e) {    70              e.printStackTrace();    71          } catch (IOException e) {    72              // TODO Auto-generated catch block    73              e.printStackTrace();    74          }    75          InputStreamReader isr = new InputStreamReader(is);    76          BufferedReader reader = new BufferedReader(isr);    77          StringBuffer stringBuffer = new StringBuffer();    78          try {    79              String result = "";    80              while ((result = reader.readLine()) != null) {    81                  stringBuffer.append(result);    82              }    83          } catch (IOException e) {    84              e.printStackTrace();    85          }    86          txtInfo.setText(stringBuffer.toString());    87      }    88 } 

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android镜像烧写(Ubuntu)
  5. Android面试题目大全
  6. Android中AudioRecord 录音和AudioTrack播放录音,并可以转为wav格
  7. Android之permission权限列表
  8. MediaScanner源码分析
  9. Fragment与Activity之间数据交互(Kotlin)

随机推荐

  1. android 使用意图(Intent)实现一键拨号实例
  2. 判断android设备是否支持多点触控
  3. Android O 物理键盘和虚拟键盘同时支持
  4. android layer-list
  5. Android Mediacodec H.265文件播放
  6. ListView多次调用getView方法
  7. Android 应用程序运行shell命令
  8. Android稳定性测试工具Monkey的使用
  9. Calculator-Android
  10. android java 执行shell命令(笔记)