簡體   English   中英

Android中無標簽字符串的JSON解析

[英]JSON Parsing in Android for Strings Without Label

嘗試解析此JSON時遇到問題。

{
    "bakso-roso-n'deso__-6.19_106.77":
    {"Latitude":"-6.185488","Longitude":"106.77366","Distance":"90.89210930799594"},
    "print-point-duri-kepa__-6.19_106.77":
    {"Latitude":"-6.18599544813468","Longitude":"106.772603988647","Distance":"118.9849339548274"},
    "apartment-menara-kebun-jeruk__-6.19_106.78":
    {"Latitude":"-6.18530376709007","Longitude":"106.775222279179","Distance":"247.8816947606767"},
    "ranch-market---pesanggrahan__-6.19_106.77":
    {"Latitude":"-6.18761306472002","Longitude":"106.77343661177","Distance":"294.4255786871916"}
}

問題是如何獲取“ bakso-roso-n'deso __- 6.19_106.77”作為字符串。 它沒有任何標簽。

謝謝。

現在處理Json的常規方法是這樣的:

String jstring = "{\"menu\": {\"id\": \"file\", \"value\": \"File\",\"popup\": {\"menuitem\": [{\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},{\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},{\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}]}}}";
try
{
    jObject = new JSONObject(jstring);

對於這種json,我該怎么做? jstring應該是什么?

基本上我想將這些json字符串轉換成一些字典。

請檢查此字符串,這不是有效的json字符串。

 String jstring = "{\"menu\": {\"id\": \"file\", \"value\": \"File\",\"popup\": {\"menuitem\": [{\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},{\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},{\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}]}}}";

檢查json是否有效http://jsonlint.com/

實際上,您的"bakso-roso-n'deso__-6.19_106.77"本身就是標簽(鍵?)。

JSONObject jsonObject = new JSONObject(YOUR_RESPONSE_STRING);
Iterator<String> myIter = jsonObject.keys();
while(myIter.hasNext()){
  //here you can get all keys
}

我認為您可以使用jObject.keys()獲得鍵上的迭代器;

根據您的代碼....

String jstring = "{\"menu\": {\"id\": \"file\", \"value\": \"File\",\"popup\": {\"menuitem\": [{\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},{\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},{\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}]}}}";


  try
      {
         jObject = new JSONObject(jstring);
         Map<String,String> map = new HashMap<String,String>();
         Iterator iter = jObject.keys();

         while(iter.hasNext()){
            String key = (String)iter.next();
            String value = menu.getString(key);
            map.put(key,value);
        }
    } catch(exception e){}

僅使用字符串和值解析JSON對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM