Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > ลิ้ง JSON จาก URL ไม่อ่านค่าออกมาเป็น Array แบบ1 มิติครับ แก้Code ตรงไหนแนะนำที่ครับ



 

ลิ้ง JSON จาก URL ไม่อ่านค่าออกมาเป็น Array แบบ1 มิติครับ แก้Code ตรงไหนแนะนำที่ครับ

 



Topic : 128660



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์




Value error


ผมทำ JSON แต่ไม่โชว์ อ่ะครับ

Code (Android-Java)
ArrayList<HashMap<String, String>> contactList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        contactList = new ArrayList<>();

        lv = (ListView)findViewById(R.id.listView);

        new GetContacts().execute();
    }

    private  class  GetContacts extends AsyncTask<Void, Void, Void>{

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            //show loading dialog
            pDialog = new ProgressDialog(MainActivity.this);
            pDialog.setMessage("Loading...");
            pDialog.setCancelable(false);
            pDialog.show();
        }

        @Override
        protected Void doInBackground(Void... voids) {
            HttpHandler sh = new HttpHandler();


            String jsonSTr = sh.makeServiceCall(url);

            Log.e(TAG, "Response from url:" +jsonSTr);

            if (jsonSTr != null){
                try {
                    JSONObject jsonObject = new JSONObject(jsonSTr);

                    JSONArray contacts = jsonObject.getJSONArray("1");

                    for (int i = 0; i<contacts.length(); i++){
                    JSONObject c = contacts.getJSONObject(i);

                        String pr_id = c.getString("pr_id");

                    //String id = c.getString("id");
                    //String name = c.getString("name");
                    //String email = c.getString("email");
                    //String address = c.getString("address");
                    //String gender = c.getString("gender");


                    //JSONObject phone = c.getJSONObject("phone");
                    //String mobile = phone.getString("mobile");
                    //String home = phone.getString("home");
                    //String office = phone.getString("office");


                    HashMap<String, String> contact = new HashMap<>();

                        contact.put("pr_id", pr_id);
                    contactList.add(contact);
                    }

                }catch (final JSONException e){
                    Log.e(TAG, "JSON parsing error:" +e.getMessage());
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this,
                                    "JSON parsing error:" +e.getMessage(),
                                    Toast.LENGTH_LONG).show();
                        }
                    });
                }
            } else {
                Log.e(TAG, "Couldn't get json from server.");
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(MainActivity.this,
                                "Couldn't get json from server.",
                                Toast.LENGTH_SHORT).show();
                    }
                });
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            if (pDialog.isShowing()){
                pDialog.dismiss();
            }
            ListAdapter adapter = new SimpleAdapter(
                    MainActivity.this,contactList,
                    R.layout.list_item, new String[]{"pr_id", "email", "mobile"},
                    new int[] {R.id.name, R.id.email, R.id.mobile});

            lv.setAdapter(adapter);
        }
    }
}






JSON ผม
{"1":{ "pr_id":"00000001", "pr_brand":"0", "pr_name":"\u0e40\u0e17\u0e2a", "pr_cat":"2", "pr_color":"", "pr_qty":"3000", "pr_tmp":"33", "pr_des":"test", }, "2":{ "pr_id":"00000002", "pr_brand":"2", "pr_name":"CAR MAX BOX", "pr_cat":"2", "pr_color":"", "pr_qty":"5000", "pr_tmp":"3279", "pr_des":"DENGO CAR MAX BOX", } }

ใครทราบช่วยผมแก้ที่ครับ พึ่งหัดทำครับ



Tag : Mobile, JavaScript, Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-08-21 23:45:10 By : sinxii13 View : 1198 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

กรณ๊ที่เป็น Array จะต้องมี [....] ด้วยครับ เช่น

Code
[{ "MemberID":"1", "Name":"Weerachai", "Tel":"0819876107" }, { "MemberID":"2", "Name":"Win", "Tel":"021978032" }, { "MemberID":"3", "Name":"Eak", "Tel":"087654321" }]



Android and JSON







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-22 14:35:15 By : mr.win
 


 

No. 2



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


JSON ผมเป็นแบบไม่มี [] ผมเลย งง อ่ะครับ มีวิธีแก้code ให้ออ่านค่า ออกมาได้ไหมครับ

{"1":{
"pr_id":"00000001",
"pr_brand":"0",
"pr_name":"\u0e40\u0e17\u0e2a",
"pr_cat":"2",
"pr_color":"",
"pr_qty":"3000",
"pr_tmp":"33",
"pr_des":"test",
},
"2":{
"pr_id":"00000002",
"pr_brand":"2",
"pr_name":"CAR MAX BOX",
"pr_cat":"2",
"pr_color":"",
"pr_qty":"5000",
"pr_tmp":"3279",
"pr_des":"DENGO CAR MAX BOX",
}
}
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-22 15:21:13 By : sinxii13
 

 

No. 3



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


public class MainActivity extends AppCompatActivity {
private ListView jsonListview;
private ArrayList<String> exData;
private ProgressDialog pDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

jsonListview = (ListView)findViewById(R.id.json_listview);
exData = new ArrayList<String>();
//exData.add("Test1");
//exData.add("Test2");

new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
pDialog.show();

}

@Override
protected Void doInBackground(Void... params) {
try {
URL url = new URL("//url");
URLConnection urlConnection = url.openConnection();

HttpsURLConnection httpsURLConnection =(HttpsURLConnection)urlConnection;
httpsURLConnection.setAllowUserInteraction(false);
httpsURLConnection.setInstanceFollowRedirects(true);
httpsURLConnection.setRequestMethod("GET");
httpsURLConnection.connect();

InputStream inputStream = null;

if (httpsURLConnection.getResponseCode() == HttpsURLConnection.HTTP_OK)
inputStream = httpsURLConnection.getInputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"),8);

StringBuilder stringBuilder = new StringBuilder();
String line = null;
while ((line=reader.readLine()) !=null){
stringBuilder.append(line+ "\n");
}
inputStream.close();
Log.d("JSON Result", stringBuilder.toString());

JSONObject jsonObject = new JSONObject(stringBuilder.toString());
for (int i=0; i < jsonObject.length(); i++){
exData.add(jsonObject.getString("1"));
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}

return null;
}

@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, exData);
jsonListview.setAdapter(myAdapter);
pDialog.dismiss();
}
}.execute();


}
}

อันนี้ผมลองเขียนอีกแบบ ได้ค่าออกมา แต่ยกมาทั้งหมดเลยอ่ะครับ
แบบเป็นก้อนๆเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-22 15:23:59 By : sinxii13
 


 

No. 4



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2017-08-22 14:35:15
รายละเอียดของการตอบ ::
ผมไปขอ JSON มาจากโปรแกรมเมอร์ที่ออฟฟิตมาเขียนแอฟอ่ะครับ แล้วเค้าให้มาเป็นแบบนี้
{"1":{
"pr_id":"00000001",
"pr_brand":"0",
"pr_name":"\u0e40\u0e17\u0e2a",
"pr_cat":"2",
"pr_color":"",
"pr_qty":"3000",
"pr_tmp":"33",
"pr_des":"test",
},
"2":{
"pr_id":"00000002",
"pr_brand":"2",
"pr_name":"CAR MAX BOX",
"pr_cat":"2",
"pr_color":"",
"pr_qty":"5000",
"pr_tmp":"3279",
"pr_des":"DENGO CAR MAX BOX",
}
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-23 19:40:32 By : sinxii13
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ลิ้ง JSON จาก URL ไม่อ่านค่าออกมาเป็น Array แบบ1 มิติครับ แก้Code ตรงไหนแนะนำที่ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่