Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 4 years ago.
Improve this question
After calling data from API using, dictonary = try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary. My value is always in parentheses. How do change from parentheses to bracket?
What you're seeing is just an artifact of how Xcode (really lldb) displays dictionaries when debugging.
["{key}":{value}...] will be used to display any dictionary.
({value}...) will be used to display arrays
The rest of what you see is because the coordinates array is an array(1) of array(1) of array(1) of array(2) with two values [[[[Double]]]]
Mostly you just need to learn to read the debugger output.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
[
1618511472,
"on-req",
null,
null,
[
[
62577595747,
]
],
]
Above is the json response that needs to be parsed
I'm currently using var resp []interface{} and json.Unmarshal for the raw response. It works for other fields except the array field
When I try to cast the array field resp[4].([][]interface{}) it doesn't work
Not sure what is the best approach here. Appreciate any help. Thanks beforehand
Thanks to mkopriva's answer
This is the working solution
tmp, ok := resp[4].([]interface{})
tmp1, ok1 := tmp.([]interface{})
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
I have a Rust library and Ruby project. I call a Rust function from Ruby via FFi.
There's a function in the Rust library that receives a string and converts it into json.
Ruby side:
my_json_raw_str = {
network: {
server_address: "my_server.com"
}
}
res = send_it_to_rust(my_json_raw_str.to_json)
A function in Rust will throw an exception when parsing json string sent to it from Ruby.
An error returned from Rust:
Invalid parameters: trailing characters at line 1 column 47\nparams: [{\"network\":{\"server_address\":\"my_server.com\"}}\u0000]
Json is valid, isn't it?
serde, serde_json and serde_derive are used on Rust side.
How to fix the error and why is it caused?
Json is valid, isn't it?
Your JSON is not valid, because your FFI layer is not correct: if you look at the error it's clearly telling you that there is a trailing NUL byte in your data, meaning when bridging between C and Rust you left the trailing NUL byte from the C string.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
I have a JSON String to validate which contains two separate objects. The string is "1A" but i want to validate it as individual objects for example: {"NumberInt":1,"LetterThing":"A"}.
In conclusion, my string is "1A" but I need to validate it as individual objects despite the fact it's in a string format.
Why do I want this? I have a minimum and maximum for the NumberInt integer value and I have a particular pattern for the LetterThing string value. For example: I do not want "5H" to validate.
If this is possible in a string format please let me know how.
Solved:
Was solved by using regex to validate on my JsonSchema i.e "pattern": "^[A-Ja-j1-4\\s]*$".
Thanks guys
You could use a regex to extract what you need from the JSON.
//obtains the number part, then you can perform operations on that number
var startingDigits = incomingString.replace( /^\D+/g, '');
You would need to PARSE the string in this case.
To parse a STRING you ITERATE over each CHARACTER in the string and then compose the needed parsed ELEMENTS.
For example in this CASE you might start looking for only DIGITS and putting them in another string. When you hit a LETTER you can CONVERT that string to an integer.
Then take the REMAINING as the 2nd part.
Finally do your VALIDATION.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm facing problem when I run the app on my mobile and when I run the error with stack trace or with debug option there is no error so I don't know what to do
Here's the error message
Error:Execution failed for task
':app:transformClassesWithInstantRunForDebug'.
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING
at line 1 column 1 path` $
This usually happens when your model is expecting a JSON array value but was surprised by a String value so it threw an exception. You can solve this in two different ways:
1- Edit your API response to return an empty JSON array or a JSON array with only one value in it. I mean always wrap your response value in a JSON array.
2- Edit your model to accept all data types, you can use Object as the data type for this value then cast it to an array or to a single value only.
Hope this helps, happy coding!
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have response from server in this format :
{
"id":"552cd25444ae47fe5f3a41b2",
"eventType":"REST_EVENT",
"userSid":"REST_USER",
"content":{
"key":"value",
"key1":"value1",
"key2":"value2"
}
}
How I can map content field to Ember Data Model if this field has dynamic count of values and without knowing key names ?
Its really simple. Use this in your model
content : DS.attr()
Ember will automatically pick up if you pass array, string or number. In your case array.
You can even iterate over it. Watch it using Observers like any other array or model attribute in Ember.