بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
جیسون گرفتن از فایل php
سلام دوستان ..تعدادی مقدار رو در یه فایل html ریختم با کدهای جیسون به شکل زیر ..جیسون دریافت میشه در اندروید توی لیست ویو هم قرار میگیره ..حالا میخوام همین جیسون رو با فایل php بگیرم به این شکل دریافت میشه ولی در لیست ویو نمایش داده نمیشه ..
html:
{
"contacts": [
{
"id": "c200",
"name": "ali",
"email": "ravi@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
{
"id": "c201",
"name": "kayvan",
"email": "sa@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 133830000",
"home": "00 000000",
"office": "00 000000"
}
},
}
]
}
جیسون باphp:
{"contacts":[{"0":"1","id":"1","1":"amir","name":"amir","2":"qou@gmail.com","email":"qou@gmail.com","3":"qw","address":"qw","4":"22","gender":"22","5":"33","phone":"33","6":"913383","mobile":"913383","7":"fddf","home":"fddf","8":"ad","office":"ad"},{"0":"2","id":"2","1":"karim","name":"karim","2":"wddsd@gmil.com","email":"wddsd@gmil.com","3":"sas","address":"sas","4":"221","gender":"221","5":"23","phone":"23","6":"935666","mobile":"935666","7":"df","home":"df","8":"dsdd","office":"dsdd"},{"0":"3","id":"3","1":"farhad","name":"farhad","2":"sd@hh","email":"sd@hh","3":"","address":"","4":"2","gender":"2","5":"2","phone":"2","6":"9123343","mobile":"9123343","7":"sd","home":"sd","8":"dd","office":"dd"}]}
اینم کدهای پی اچ پی
:<?php
...
$query = mysql_query("SELECT * FROM contacts", $con);
while($row = mysql_fetch_array($query)) {
$flag[] = $row;
$contacts='contacts';
$c=':';
$a='{';
$b='}';
}
print ($a);
print (json_encode($contacts));
print ($c);print (json_encode($flag));
print ($b);
mysql_close($con);
?>
0
0
اول از همه لطف کنید همه سورس رو اصلاح کنید و قسمت مربوطه رو بنویسید و مابقی رو حذف کنید . دوم اینکه شما موقع دریافت json نباید چیزی جز json به کلاینت بفرستید و کد های html موجود json رو خراب میکنه و از استاندارد خارج میشه . (11 سال پیش)
0
0
سورس پی اچ پی رو اصلاح کنم؟ با همین جیسون htmlتوی لیست ویو اطلاعات درست نمایش داده میشه (11 سال پیش)
0
0
غیر از نام contacts چیز دیگه ای غیر از جیسون نمیره و فایل جاوا باید جیسون رو از تگ contacts بخونه.. (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Qurban
11 سال پیش
0
0
با یه کد Php دیگه این جیسون رو گرفتم دقیقا شبیه جیسونی که اندروید از فایل html دریافت میکنه ..اما جیسون پی اچ پی در لیست ویو نمایش داده نمیشه ..اینم جیسون با کد پی اچ پی :
{"contacts":[{"id":"1","name":"amir","email":"qou@gmail.com","address":"qw","gender":"22","phone":"33","mobile":"913383","home":"fddf","office":"ad"},{"id":"2","name":"karim","email":"wddsd@gmil.com","address":"sas","gender":"221","phone":"23","mobile":"935666","home":"df","office":"dsdd"},{"id":"3","name":"farhad","email":"sd@hh","address":"","gender":"2","phone":"2","mobile":"9123343","home":"sd","office":"d
<?php
$host = "appishkhan.cloudsite.ir"; // host of MySQL server
$user = "****"; // MySQL user
$pwd = "****"; // MySQL user's password
$db = "frappi_Test"; // database name
$con=mysql_connect("appishkhan.cloudsite.ir", "****", "***")or die("cannot connect");
mysql_select_db("frappi_Test")or die("cannot select DB");
$sql = "select * from contacts";
$result = mysql_query($sql);
$json = array();
if(mysql_num_rows($result)){
while($row=mysql_fetch_assoc($result)){
$json['contacts'][]=$row;
}
}
mysql_close($con);
echo json_encode($json);
?>
پاسخ به سوال
Qurban
11 سال پیش
0
0
اینم فایل جاوا..
public class MainActivity extends ListActivity {
private ProgressDialog pDialog;
// private static String url = "http://appishkhan.cloudsite.ir/webservis/contacts.html";
private static String url = "http://appishkhan.cloudsite.ir/webservis/json.php";
// JSON Node names
private static final String TAG_CONTACTS = "contacts";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_ADDRESS = "address";
private static final String TAG_GENDER = "gender";
private static final String TAG_PHONE = "phone";
private static final String TAG_MOBILE = "mobile";
// private static final String TAG_PHONE_MOBILE = "mobile";
// private static final String TAG_PHONE_HOME = "home";
// private static final String TAG_PHONE_OFFICE = "office";
// contacts JSONArray
JSONArray contacts = null;
ArrayList<HashMap<String, String>> contactList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contactList = new ArrayList<HashMap<String, String>>();
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// getting values from selected ListItem
String name = ((TextView) view.findViewById(R.id.name))
.getText().toString();
String cost = ((TextView) view.findViewById(R.id.email))
.getText().toString();
String description = ((TextView) view.findViewById(R.id.mobile))
.getText().toString();
// Starting single contact activity
Intent in = new Intent(getApplicationContext(),
SingleContactActivity.class);
in.putExtra(TAG_NAME, name);
in.putExtra(TAG_EMAIL, cost);
in.putExtra(TAG_ADDRESS, description);
// in.putExtra(TAG_PHONE_MOBILE, description);
startActivity(in);
}
});
// Calling async task to get json
new GetContacts().execute();
}
private class GetContacts extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
// Showing progress dialog
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Please wait...");
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
ServiceHandler sh = new ServiceHandler();
String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);
Log.d("Response: ", "> " + jsonStr);
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
// Getting JSON Array node
contacts = jsonObj.getJSONArray(TAG_CONTACTS);
// looping through All Contacts
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String email = c.getString(TAG_EMAIL);
String address = c.getString(TAG_ADDRESS);
String gender = c.getString(TAG_GENDER);
JSONObject phone = c.getJSONObject(TAG_PHONE);
String mobile = phone.getString(TAG_MOBILE);
//x String mobile = phone.getString(TAG_PHONE_MOBILE);
// String home = phone.getString(TAG_PHONE_HOME);
// String office = phone.getString(TAG_PHONE_OFFICE);
// tmp hashmap for single contact
HashMap<String, String> contact = new HashMap<String, String>();
// adding each child node to HashMap key => value
contact.put(TAG_ID, id);
contact.put(TAG_NAME, name);
contact.put(TAG_EMAIL, email);
contact.put(TAG_ADDRESS, address);
//az contact.put(TAG_PHONE_MOBILE, mobile);
contact.put(TAG_MOBILE, mobile);
// adding contact to contact list
contactList.add(contact);
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("ServiceHandler", "dade daryaft nashod");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// Dismiss the progress dialog
if (pDialog.isShowing())
pDialog.dismiss();
ListAdapter adapter = new SimpleAdapter(
MainActivity.this, contactList,
R.layout.list_item, new String[] { TAG_NAME, TAG_EMAIL,
//az TAG_PHONE_MOBILE }, new int[] { R.id.name,
TAG_ADDRESS }, new int[] { R.id.name,
R.id.email, R.id.mobile });
setListAdapter(adapter);
}
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .