标签: jsonobject

org.json.JSONObject构造函数不接受看似有效的JSON字符串

我有一个string在一个Android应用程序,我想转换成一个JSONObject.在string这个样子的(除了时间更长,实际值,而不是我这里输入的虚拟值):

[[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]
Run Code Online (Sandbox Code Playgroud)

我已将其精确地输入string到两个在线版中JSON validator,并且它们都确认它是有效的JSON data.所以我假设JSONObject构造函数能够接受这个字符串并将其转换为JSONObject.但是当我尝试:

json = new JSONObject(result);
Run Code Online (Sandbox Code Playgroud)

其中"result"是包含上面列出的字符串的String变量,我得到以下异常:

JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?这个JSONObject解析器坏了吗?

java android json jsonobject android-json

2
推荐指数
1
解决办法
2493
查看次数

如何从android中的JSONObject中提取值

1.我有这样的json对象如何能够访问android
2中的所有值.在任何人投票之前,我想说我已经搜索了stackoverflow的类似示例,但这些示例包含JSONObject,然后是JSONArray
3.Here in我的情况一切都是JSONObject所以我有点困惑

{
"1":
{"sno":"10","latitude":"31.249441437085455","longitude":"75.70003598928452"},

"2":
{"sno":"11","latitude":"31.249398442090207","longitude":"75.70003397762775"}
}
Run Code Online (Sandbox Code Playgroud)

这就是我如何使它成为JSONObject
1.Below代码返回我的输出就像所有JSONObject
2.有什么办法让"1"和"2"作为JSONArray?

$select_rows = "select sno,latitude,longitude from activities where username='$username'";
if ($result = mysql_query($select_rows)) {

$num_of_fields = mysql_num_fields($result);
$num_of_rows = mysql_num_rows($result);

 $i = 0;

    $j = 1;

    while ($retrieved = mysql_fetch_array($result)) {

        for ($i = 0; $i < $num_of_fields; $i++) {

            $field_name = mysql_field_name($result, $i);

            $object[$j][$field_name] = $retrieved[$field_name];
        }
        $j++;
    }
    echo json_encode($object);
}
Run Code Online (Sandbox Code Playgroud)

arrays android json jsonobject android-json

2
推荐指数
2
解决办法
1万
查看次数

在Facebook登录Android期间获取jsonObject中的唯一ID和名称

我正在尝试使用我的应用程序登录,facebook login但我收到的回复jsonObject只是id和名称,而我请求的时候没有别的loginButton.setReadPermissions("public_profile").任何人都可以找出问题所在?这是我的代码.

public class LoginActivity extends AppCompatActivity {
LoginButton loginButton;
CallbackManager callbackManager;
String id, name, gender, ageRange;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_login);
    loginButton=(LoginButton)findViewById(R.id.login_button);
    callbackManager= CallbackManager.Factory.create();
    loginButton.setReadPermissions("public_profile");
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            AccessToken accessToken=loginResult.getAccessToken();
            GraphRequest graphRequest= GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject jsonObject, GraphResponse graphResponse) {
                    if (jsonObject!=null)
                    {
                        Log.e("JSON Object",jsonObject.toString());
                        Log.e("GraphResponse",graphResponse.toString());
                        try
                        {
                            id=jsonObject.getString("id");
                            name=jsonObject.getString("name");
                            gender=jsonObject.getString("gender");
                            ageRange=jsonObject.getString("age_range");
                        }
                        catch (JSONException e)
                        {
                            e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api jsonobject

2
推荐指数
1
解决办法
2298
查看次数

如何在net.sf.json.JSONObject中放置null值的键?

我正在使用net.sf.json.JSONObject.当我尝试使用put方法将数据放入Json对象时,key如果我的值为null,它将被删除.

有没有办法保留我的密钥,因为它在我的对象中,即使我的值为null?

对于前

 JSONObject json = new JSONObject();
 json.put("myKey",null);

 JSONObject json = new JSONObject();
 json.put("myKey",null);

然后我的输出是: {}

但我想要

输出: {"myKey",""}

我能怎么做?

java json jsonobject

1
推荐指数
1
解决办法
9160
查看次数

Android ArrayAdapter和JSONArray

我是Android开发的新手.

考虑到JSON Carrier与XML相比的轻巧性,我纯粹喜欢使用JSON Objects和Arrays作为我的简单应用程序.

我对ArrayAdapter提出了挑战,要求填充ListView.

这就是我如何克服并需要你的建议.

Extend the Adaptor class.
Run Code Online (Sandbox Code Playgroud)

然后将JSONArray传递给构造函数.
这里构造函数使用设置JSONArray长度的虚拟 String数组调用super .
将构造函数参数存储在类中以供进一步使用.

public myAdaptor(Context context, int resource, JSONArray array)
{
    super(context, resource, new String[array.length()]);
    // Store in the local varialbles to the adapter class.
    this.context = context;
    this.resource = resource;
    this.profiles = objects;
}
Run Code Online (Sandbox Code Playgroud)

getView()会做的工作获取从JSONArray一个JSONObjects建立视图.

public View getView(int position, View convertView, ViewGroup parent)
{
    View view;
    if (convertView == null)
    {
        LayoutInflater inflater = (LayoutInflater) 
            context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(resource, parent, false);
    } …
Run Code Online (Sandbox Code Playgroud)

arrays android listview jsonobject

1
推荐指数
1
解决办法
1万
查看次数

计算Android中json数组内的json对象?

我试图将json值解析为我的Android应用程序.在这里,我被困在一个地方,我需要在json arraylist中有对象长度.

下面是我的json:

    "events": { //json object
            "2012-11-30": [ // json array
                {
                    "privacy": "OPEN",
                    "name": "LOGDGE"   
                }
            ],
            "2013-08-17": [
                {
                    "privacy": "OPEN",
                    "name": "Party: Dinner and Dancing"
                }
            ],
            "2013-09-14": [
                {
                    "privacy": "OPEN",
                    "name": "Party: Dinner and Dancing"
                }
            ],
            "2013-09-27": [
                {
                    "privacy": "OPEN",
                    "name": "Salsa Party!"  
                }

            {
             "privacy": "OPEN",
                     "name": "Dance Performance Course",
            }       
            ],
            "2013-10-23": [
                {
                    "privacy": "OPEN",
                    "name": "Dance Performance Course"
                }
            ]
    }
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我如何解析以获得json数组的长度:

  • 2012-11-30计数= 1
  • 2013-08-17计数= 1
  • 2013-09-27计数= 2 …

arrays android json jsonobject

1
推荐指数
1
解决办法
6667
查看次数

计算 JSON 数组中字符串的出现次数

我有下面的 JSON 响应,我想计算“ref_id”对象中字符串匹配的出现次数。但是我不知道在遍历数组并计算匹配项时从哪里开始。我应该开始的任何帮助或建议将不胜感激

{
"tag": "checkthisServer",
"success": 1,
"error": 0,
"svd_ids": [
    {
        "ref_id": "f91e2651"
    },
    {
        "ref_id": "f91e2651"
    },
    {
        "ref_id": "ue87sr5d"
    },
    {
        "ref_id": "f91e2651"
    }
    {
        "ref_id": "ue87sr5d"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

输出应该是:

f91e2651: 3
ue87sr5d: 2
Run Code Online (Sandbox Code Playgroud)

arrays json jsonobject

1
推荐指数
1
解决办法
3944
查看次数

javascript中与java不同的JSON字符编码

下面的java代码

    JSONObject obj = new JSONObject();
    try{
        obj.put("alert","•é");
        byte[] test = obj.toString().getBytes("UTF-8");
        logger.info("bytes are"+ test);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    };
Run Code Online (Sandbox Code Playgroud)

生成一个 JSONObject 转义项目符号字符,但不是带有严重的拉丁字母 e,例如 ""\u2022é",字节码为 [123, 34, 97, 108, 101, 114, 116, 34, 58, 34, 92, 117, 50, 48, 50, 50, -61, -87, 34, 125]

如何在 Javascript 中获得相同的精确输出(就字节序列而言)?我不明白为什么 JSONObject 只转义一个字符而不转义另一个。我不知道它遵循什么规则。

似乎在 javascript 中,我只能转义除 ASCII 以外的所有内容(例如。\u007f-\uffff)或根本不转义。

谢谢!

javascript java unicode json jsonobject

1
推荐指数
1
解决办法
1708
查看次数

JSONObject数据foreach(Android)

我的以下json数据:

  {
        "Alex": {
            "id": "54e23a2331ac67b1490d87b8",
            "desc": "bla bla",
            "no": 2
        },
        "Kodie": {
            "id": "54e23a2331ac67b1490d87b9",
            "desc": "bla bla",
            "no": 13
        },
        "Lache": {
            "id": "54e23a2331ac67b1490d87af",
            "desc": "bla bla",
            "no": 89
        }
 }
Run Code Online (Sandbox Code Playgroud)

如何在android系统中使用以下代码?

JSONObject object = new JSONObject(data);

for (int i = 0; i < object.length(); i++) {
   //desc = object.getString("desc");
}
Run Code Online (Sandbox Code Playgroud)

对不起,我可以告诉你很多,因为我的英语非常糟糕.

android jsonobject

1
推荐指数
2
解决办法
9946
查看次数

Android JsonObject解析带双引号的字符串

我正在使用JsonObject解析来自API的响应,问题是生成的String具有双引号,如何获取不带引号的字符串?

                JsonElement jelement = new JsonParser().parse(response);
                JsonObject jobject = jelement.getAsJsonObject();
                String authorization = jobject.get("authorization").toString();

                Log.d("mensa","parseado jwt :"+authorization);
Run Code Online (Sandbox Code Playgroud)

所以我的回应看起来像...

parseado jwt:“ eyJ0eXAiOiJKV1QiLCJhbGciO ...”

实际的Json回应

{
    "authorization": "eyJ0eXAiOiJKV1..."
}
Run Code Online (Sandbox Code Playgroud)

解析此字符串的正确方法是什么,这样我就不会用双引号将其包裹起来?

android jsonobject

1
推荐指数
1
解决办法
2158
查看次数